Node-red hangs when loading the web interface

Hello,
I am a node-red beginner and have the following problem:
after updating node.js, node-red hangs when loading the web interface. Below are the logs

Welcome to Node-RED
===================

6 Apr 10:41:41 - [info] Node-RED version: v3.1.8
6 Apr 10:41:41 - [info] Node.js  version: v20.12.1
6 Apr 10:41:41 - [info] Windows_NT 10.0.22631 x64 LE
6 Apr 10:41:42 - [info] Loading palette nodes
6 Apr 10:41:43 - [debug] Module: @alainx277/node-red-miele 0.1.0 \Users\micha\.node-red\node_modules\@alainx277\node-red-miele
6 Apr 10:41:43 - [debug] Module: @rotflorg/node-red-contrib-ecoflow-powerstream 0.5.1 \Users\micha\.node-red\node_modules\@rotflorg\node-red-contrib-ecoflow-powerstream
6 Apr 10:41:43 - [debug] Module: google-translate-tts 0.4.0-dev \Users\micha\.node-red\node_modules\google-translate-tts
6 Apr 10:41:43 - [debug] Module: node-red-contrib-boolean-logic 0.0.3 \Users\micha\.node-red\node_modules\node-red-contrib-boolean-logic
6 Apr 10:41:43 - [debug] Module: node-red-contrib-boolean-logic-ultimate 1.0.56 \Users\micha\.node-red\node_modules\node-red-contrib-boolean-logic-ultimate
6 Apr 10:41:43 - [debug] Module: node-red-contrib-bosch-shc 0.4.31 \Users\micha\.node-red\node_modules\node-red-contrib-bosch-shc
6 Apr 10:41:43 - [debug] Module: node-red-contrib-buffer-parser 3.2.2 \Users\micha\.node-red\node_modules\node-red-contrib-buffer-parser
6 Apr 10:41:43 - [debug] Module: node-red-contrib-calc 1.0.5 \Users\micha\.node-red\node_modules\node-red-contrib-calc
6 Apr 10:41:43 - [debug] Module: node-red-contrib-color-convert 0.0.8 \Users\micha\.node-red\node_modules\node-red-contrib-color-convert
6 Apr 10:41:43 - [debug] Module: node-red-contrib-colorspace 1.0.2 \Users\micha\.node-red\node_modules\node-red-contrib-colorspace
6 Apr 10:41:43 - [debug] Module: node-red-contrib-credentials 0.2.2 \Users\micha\.node-red\node_modules\node-red-contrib-credentials
6 Apr 10:41:43 - [debug] Module: node-red-contrib-dashboard-bar-chart-data 0.9.8 \Users\micha\.node-red\node_modules\node-red-contrib-dashboard-bar-chart-data
6 Apr 10:41:43 - [debug] Module: node-red-contrib-daylight-rgbw 2.1.7 \Users\micha\.node-red\node_modules\node-red-contrib-daylight-rgbw
6 Apr 10:41:43 - [debug] Module: node-red-contrib-ecoflow 0.9.7 \Users\micha\.node-red\node_modules\node-red-contrib-ecoflow
6 Apr 10:41:43 - [debug] Module: node-red-contrib-enocean 0.8.5 \Users\micha\.node-red\node_modules\node-red-contrib-enocean
6 Apr 10:41:43 - [debug] Module: node-red-contrib-enocean-esp2 0.0.6 \Users\micha\.node-red\node_modules\node-red-contrib-enocean-esp2
6 Apr 10:41:43 - [debug] Module: node-red-contrib-enocean-telegram-decoder 1.0.1 \Users\micha\.node-red\node_modules\node-red-contrib-enocean-telegram-decoder
6 Apr 10:41:43 - [debug] Module: node-red-contrib-enoceanip 0.1.2 \Users\micha\.node-red\node_modules\node-red-contrib-enoceanip
6 Apr 10:41:43 - [debug] Module: node-red-contrib-float 1.0.3 \Users\micha\.node-red\node_modules\node-red-contrib-float
6 Apr 10:41:43 - [debug] Module: node-red-contrib-full-msg-json-schema-validation 1.1.0 \Users\micha\.node-red\node_modules\node-red-contrib-full-msg-json-schema-validation
6 Apr 10:41:43 - [debug] Module: node-red-contrib-geofox-api 0.1.3 \Users\micha\.node-red\node_modules\node-red-contrib-geofox-api
6 Apr 10:41:43 - [debug] Module: node-red-contrib-homekit-rgb 1.0.3 \Users\micha\.node-red\node_modules\node-red-contrib-homekit-rgb
6 Apr 10:41:43 - [debug] Module: node-red-contrib-hue-tunable-white 1.1.1 \Users\micha\.node-red\node_modules\node-red-contrib-hue-tunable-white
6 Apr 10:41:43 - [debug] Module: node-red-contrib-huemagic 4.2.2 \Users\micha\.node-red\node_modules\node-red-contrib-huemagic
6 Apr 10:41:43 - [debug] Module: node-red-contrib-influxdb 0.6.1 \Users\micha\.node-red\node_modules\node-red-contrib-influxdb
6 Apr 10:41:43 - [debug] Module: node-red-contrib-jsonfilter 0.1.0 \Users\micha\.node-red\node_modules\node-red-contrib-jsonfilter
6 Apr 10:41:43 - [debug] Module: node-red-contrib-light 1.0.0 \Users\micha\.node-red\node_modules\node-red-contrib-light
6 Apr 10:41:43 - [debug] Module: node-red-contrib-modbus 5.26.0 \Users\micha\.node-red\node_modules\node-red-contrib-modbus
6 Apr 10:41:43 - [debug] Module: node-red-contrib-modbustcp 1.2.3 \Users\micha\.node-red\node_modules\node-red-contrib-modbustcp
6 Apr 10:41:43 - [debug] Module: node-red-contrib-skyremote-new 0.1.2 \Users\micha\.node-red\node_modules\node-red-contrib-skyremote-new
6 Apr 10:41:43 - [debug] Module: node-red-contrib-sonospollytts 2.0.8 \Users\micha\.node-red\node_modules\node-red-contrib-sonospollytts
6 Apr 10:41:43 - [debug] Module: node-red-contrib-state 1.6.1 \Users\micha\.node-red\node_modules\node-red-contrib-state
6 Apr 10:41:43 - [debug] Module: node-red-contrib-sum 0.1.1 \Users\micha\.node-red\node_modules\node-red-contrib-sum
6 Apr 10:41:43 - [debug] Module: node-red-contrib-sun-position 2.2.0-beta3 \Users\micha\.node-red\node_modules\node-red-contrib-sun-position
6 Apr 10:41:43 - [debug] Module: node-red-contrib-tofloat 1.0.0 \Users\micha\.node-red\node_modules\node-red-contrib-tofloat
6 Apr 10:41:43 - [debug] Module: node-red-contrib-tts-ultimate 1.0.50 \Users\micha\.node-red\node_modules\node-red-contrib-tts-ultimate
6 Apr 10:41:43 - [debug] Module: node-red-contrib-tuya-smart-device 5.1.0 \Users\micha\.node-red\node_modules\node-red-contrib-tuya-smart-device
6 Apr 10:41:43 - [debug] Module: node-red-contrib-ui-iro-color-picker 0.1.6 \Users\micha\.node-red\node_modules\node-red-contrib-ui-iro-color-picker
6 Apr 10:41:43 - [debug] Module: node-red-dashboard 3.5.0 \Users\micha\.node-red\node_modules\node-red-dashboard
6 Apr 10:41:43 - [debug] Module: node-red-node-openweathermap 0.5.1 \Users\micha\.node-red\node_modules\node-red-node-openweathermap
6 Apr 10:41:43 - [debug] Module: node-red-node-random 0.4.1 \Users\micha\.node-red\node_modules\node-red-node-random
6 Apr 10:41:43 - [debug] Module: node-red-node-serialport 1.0.3 \Users\micha\.node-red\node_modules\node-red-node-serialport
6 Apr 10:41:43 - [debug] Module: node-red-node-tail 0.3.2 \Users\micha\.node-red\node_modules\node-red-node-tail
6 Apr 10:41:43 - [debug] Module: nr-strompreis 1.0.0 \Users\micha\.node-red\node_modules\nr-strompreis
6 Apr 10:41:43 - [debug] ! Module: node-red-contrib-enocean 0.8.5 C:\Users\micha\AppData\Roaming\npm\node_modules\node-red-contrib-enocean *ignored due to local copy*
6 Apr 10:41:43 - [debug] ! Module: node-red-contrib-enocean 0.8.5 C:\Users\micha\node_modules\node-red-contrib-enocean *ignored due to local copy*
6 Apr 10:41:43 - [debug] ! Module: node-red-node-serialport 2.0.2 C:\Users\micha\node_modules\node-red-node-serialport *ignored due to local copy*
6 Apr 10:41:45 - [info] Dashboard version 3.5.0 started at /ui
6 Apr 10:41:45 - [warn] ------------------------------------------------------
6 Apr 10:41:45 - [warn] [node-red-contrib-enocean/enocean-config-node] Error: The module '\\?\C:\Users\micha\.node-red\node_modules\@serialport\bindings\build\Release\bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 83. This version of Node.js requires
NODE_MODULE_VERSION 115. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
6 Apr 10:41:45 - [warn] ------------------------------------------------------
6 Apr 10:41:45 - [info] Settings file  : C:\Users\micha\.node-red\settings.js
6 Apr 10:41:45 - [info] Context store  : 'default' [module=localfilesystem]
6 Apr 10:41:45 - [info] User directory : \Users\micha\.node-red
6 Apr 10:41:45 - [warn] Projects disabled : editorTheme.projects.enabled=false
6 Apr 10:41:45 - [warn] Flows file name not set. Generating name using hostname.
6 Apr 10:41:45 - [info] Flows file     : \Users\micha\.node-red\flows_WSMD01.json
6 Apr 10:41:45 - [debug] loaded flow revision: a57aadd1b7ef21ecdfd4d51a4f5d16bf873a8dfa78df035ee89cf282904b771e
6 Apr 10:41:45 - [debug] red/runtime/nodes/credentials.load : no user key present
6 Apr 10:41:45 - [debug] red/runtime/nodes/credentials.load : using default key
6 Apr 10:41:45 - [debug] red/runtime/nodes/credentials.load : keyType=system
6 Apr 10:41:45 - [warn]

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

6 Apr 10:41:45 - [info] Waiting for missing types to be registered:
6 Apr 10:41:45 - [info]  - enocean-config-node
6 Apr 10:41:45 - [info] Server now running at http://127.0.0.1:1880/

Welcome to the forum @mido22

Firstly you appear to have installed node-red-contrib-enocean and node-red-node-serialport twice into two different locations. I think probably one globally and one locally. The command
npm list -g node-red-contrib-enocean
will show you if it is installed globally, in which case run
npm remove -g node-red-contrib-enocean
to remove it.
Do the same with node-red-node-serialport

Secondly I think you have upgraded nodejs without rebuilding modules with compiled code. In a command window go into your .node-red folder and run
npm rebuild
to fix that. Then restart node-red and see what happens. I suggest changing the log level back to info (I presume you have changed it to debug) for the moment in order to reduce the amount of log output.

1 Like

Hello,
thanks for the quick reply. I have executed the commands as you have written them. But it still does not work.
Here is the log

C:\>npm list -g node-red-contrib-enocean
C:\Users\micha\AppData\Roaming\npm
`-- (empty)


C:\>npm remove -g node-red-contrib-enocean

up to date in 295ms

C:\>npm rebuild
rebuilt dependencies successfully

C:\>node-red
6 Apr 15:13:10 - [info]

Welcome to Node-RED
===================

6 Apr 15:13:10 - [info] Node-RED version: v3.1.8
6 Apr 15:13:10 - [info] Node.js  version: v20.12.1
6 Apr 15:13:10 - [info] Windows_NT 10.0.22631 x64 LE
6 Apr 15:13:11 - [info] Loading palette nodes
6 Apr 15:13:14 - [info] Dashboard version 3.5.0 started at /ui
6 Apr 15:13:14 - [warn] ------------------------------------------------------
6 Apr 15:13:14 - [warn] [node-red-contrib-enocean/enocean-config-node] Error: The module '\\?\C:\Users\micha\.node-red\node_modules\@serialport\bindings\build\Release\bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 83. This version of Node.js requires
NODE_MODULE_VERSION 115. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
6 Apr 15:13:14 - [warn] ------------------------------------------------------
6 Apr 15:13:14 - [info] Settings file  : C:\Users\micha\.node-red\settings.js
6 Apr 15:13:14 - [info] Context store  : 'default' [module=localfilesystem]
6 Apr 15:13:14 - [info] User directory : \Users\micha\.node-red
6 Apr 15:13:14 - [warn] Projects disabled : editorTheme.projects.enabled=false
6 Apr 15:13:14 - [warn] Flows file name not set. Generating name using hostname.
6 Apr 15:13:14 - [info] Flows file     : \Users\micha\.node-red\flows_WSMD01.json
6 Apr 15:13:14 - [warn]

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

6 Apr 15:13:14 - [info] Waiting for missing types to be registered:
6 Apr 15:13:14 - [info]  - enocean-config-node
6 Apr 15:13:14 - [info] Server now running at http://127.0.0.1:1880/

I suggested

You have not gone to the correct folder before doing the rebuild.

Having done the rebuild what do these commands show (again from the .node-red folder)
npm list node-red-contrib-enocean
npm list -g node-red-contrib-enocean
npm list node-red-node-serialport
npm list -g node-red-node-serialport

Also copy/paste the file package.json (from the .node-red folder).

Here is the log after rebuild.

C:\Users\micha\.node-red>npm list node-red-contrib-enocean
node-red-project@0.0.1 C:\Users\micha\.node-red
`-- node-red-contrib-enocean@0.8.5


C:\Users\micha\.node-red>npm list -g node-red-contrib-enocean
C:\Users\micha\AppData\Roaming\npm
`-- (empty)


C:\Users\micha\.node-red>npm list node-red-node-serialport
node-red-project@0.0.1 C:\Users\micha\.node-red
`-- node-red-node-serialport@1.0.3


C:\Users\micha\.node-red>npm list -g node-red-node-serialport
C:\Users\micha\AppData\Roaming\npm
`-- (empty)


C:\Users\micha\.node-red>

package.json (2.3 KB)

What do you see now when you start node red?

is is the same

Welcome to Node-RED
===================

6 Apr 16:22:41 - [info] Node-RED version: v3.1.8
6 Apr 16:22:41 - [info] Node.js  version: v20.12.1
6 Apr 16:22:41 - [info] Windows_NT 10.0.22631 x64 LE
6 Apr 16:22:41 - [info] Loading palette nodes
6 Apr 16:22:44 - [info] Dashboard version 3.5.0 started at /ui
6 Apr 16:22:44 - [warn] ------------------------------------------------------
6 Apr 16:22:44 - [warn] [node-red-contrib-enocean/enocean-config-node] Error: Could not locate the bindings file. Tried:
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\build\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\build\Debug\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\build\Release\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\out\Debug\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\Debug\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\out\Release\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\Release\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\build\default\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\compiled\20.12.1\win32\x64\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\addon-build\release\install-root\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\addon-build\debug\install-root\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\addon-build\default\install-root\bindings.node
 → C:\Users\micha\.node-red\node_modules\@serialport\bindings\lib\binding\node-v115-win32-x64\bindings.node
6 Apr 16:22:44 - [warn] ------------------------------------------------------
6 Apr 16:22:44 - [info] Settings file  : C:\Users\micha\.node-red\settings.js
6 Apr 16:22:44 - [info] Context store  : 'default' [module=localfilesystem]
6 Apr 16:22:44 - [info] User directory : \Users\micha\.node-red
6 Apr 16:22:44 - [warn] Projects disabled : editorTheme.projects.enabled=false
6 Apr 16:22:44 - [warn] Flows file name not set. Generating name using hostname.
6 Apr 16:22:44 - [info] Flows file     : \Users\micha\.node-red\flows_WSMD01.json
6 Apr 16:22:44 - [info] Server now running at http://127.0.0.1:1880/
6 Apr 16:22:44 - [warn]

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

6 Apr 16:22:44 - [info] Waiting for missing types to be registered:
6 Apr 16:22:44 - [info]  - enocean-config-node

That isn't the same. Now it is complaining about not finding a bindings file.

You are installing a really ancient version of node-red-node-serialport.
I suggest uninstalling the enocean and serialport nodes and re-installing enocean. From .node-red again

npm remove node-red-contrib-enocean
npm remove node-red-node-serialport
npm install node-red-contrib-enocean

Don't re-install serialport yet, you may not even need it.
Show us the output from those commands and then try running node red again. If it says it is waiting for the serialport node then reinstall that too.

However, as have no doubt seen from the enocean github page, there are numerous unaddressed issues against the enocean node, and it has not been updated in years, so it may well be that it has been abandoned and no longer works.

Hi,
here is the log

C:\Users\micha\.node-red>npm remove node-red-contrib-enocean
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile

removed 82 packages, and audited 689 packages in 16s

56 packages are looking for funding
  run `npm fund` for details

55 vulnerabilities (1 low, 22 moderate, 16 high, 16 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

C:\Users\micha\.node-red>npm remove node-red-node-serialport

removed 12 packages, and audited 677 packages in 2s

56 packages are looking for funding
  run `npm fund` for details

55 vulnerabilities (1 low, 22 moderate, 16 high, 16 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
C:\Users\micha\.node-red>npm install node-red-contrib-enocean

added 81 packages, and audited 758 packages in 15s

58 packages are looking for funding
  run `npm fund` for details

55 vulnerabilities (1 low, 22 moderate, 16 high, 16 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

Welcome to Node-RED
===================

6 Apr 17:47:09 - [info] Node-RED version: v3.1.8
6 Apr 17:47:09 - [info] Node.js  version: v20.12.1
6 Apr 17:47:09 - [info] Windows_NT 10.0.22631 x64 LE
6 Apr 17:47:10 - [info] Loading palette nodes
6 Apr 17:47:12 - [info] Dashboard version 3.5.0 started at /ui
6 Apr 17:47:12 - [info] Settings file  : C:\Users\micha\.node-red\settings.js
6 Apr 17:47:12 - [info] Context store  : 'default' [module=localfilesystem]
6 Apr 17:47:12 - [info] User directory : \Users\micha\.node-red
6 Apr 17:47:12 - [warn] Projects disabled : editorTheme.projects.enabled=false
6 Apr 17:47:12 - [warn] Flows file name not set. Generating name using hostname.
6 Apr 17:47:12 - [info] Flows file     : \Users\micha\.node-red\flows_WSMD01.json
6 Apr 17:47:12 - [info] Server now running at http://127.0.0.1:1880/
6 Apr 17:47:12 - [warn]

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

6 Apr 17:47:13 - [info] Starting flows
6 Apr 17:47:13 - [info] [miele-config:Waschmaschine] Fetching Miele API token
6 Apr 17:47:13 - [info] [miele-config:Waschmaschine] Authenticated with Miele API
6 Apr 17:47:13 - [info] Started flows
(node:23492) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
6 Apr 17:47:13 - [info] [enocean-config-node:240c5ec1127cd57d] port opened
6 Apr 17:47:13 - [info] [enocean-config-node:240c5ec1127cd57d] Your BaseID is fffdd380
6 Apr 17:47:13 - [info] [mqtt-broker:Ecoflow mqtt] Connected to broker: ANDROID_FF12A24A-B3D1-3719-9314-DF617C735742_1526082573203865602@mqtts://mqtt.ecoflow.com
6 Apr 17:47:13 - [info] [mqtt-broker:supla] Connected to broker: mqtts://mqtt66.supla.org:8883
6 Apr 17:47:13 - [red] Uncaught Exception:
6 Apr 17:47:13 - [error] Error: Request failed with status code 401
    at createError (C:\Users\micha\.node-red\node_modules\axios\lib\core\createError.js:16:15)
    at settle (C:\Users\micha\.node-red\node_modules\axios\lib\core\settle.js:17:12)
    at IncomingMessage.handleStreamEnd (C:\Users\micha\.node-red\node_modules\axios\lib\adapters\http.js:322:11)
    at IncomingMessage.emit (node:events:530:35)
    at IncomingMessage.emit (node:domain:488:12)
    at endReadableNT (node:internal/streams/readable:1696:12)
    at processTicksAndRejections (node:internal/process/task_queues:82:21)

Start node red using
node-red --safe
Which will start the editor without starting the flows. Then use Manage Palette from the drop-down menu and remove any nodes that say they are unused, and update all the ones that are out of date. Then Deploy to start the flows.

Now it's running again.
Many thanks

1 Like