Nodered Smartmeter Node "half installed"

Hi,
i was using the NodeRed 1.3.2 with the "node-red-contrib-smartmeter" Node but after updating my system (npm and node) my flows can not found the node-red-contrib-smartmeter node. In the webinterface it is shown as installed

root@tulpe:~# npm --version
8.1.0
root@tulpe:~# node --version
v14.18.1

i tried to remove the node:
root@tulpe:/home/mode# npm uninstall node-red-contrib-smartmeter
removed 123 packages, and audited 1 package in 485ms
found 0 vulnerabilities

After restarting nodered it shows up in palette as installed component. Why? it just removed it but no effect has taken.
grafik

it tried to reinstall it:
root@tulpe:~# npm install node-red-contrib-smartmeter
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See There’s Math.random(), and then there’s Math.random() · V8 for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see Request’s Past, Present and Future · Issue #3142 · request/request · GitHub
added 123 packages, and audited 124 packages in 6s
18 packages are looking for funding
run npm fund for details
found 0 vulnerabilities

I can not find the smartmeter node in the left menu to use it in my flows.

What the heck is going on here?

Where are you calling npm install node-red-contrib-smartmeter
It should be done within your .node-red directory - assuming it is?

this may also explain why it was still listed,
the commands need to occur within the .node-red dir

i was not aware that the pwd is important when using npm (used it first time).
In .nodered directory the uninstallation worked fine. ReInstallation from webif also succeded.
Thanks man! :grinning:

But Plugin is still not woking :frowning:
Error is
Flows stopped due to missing node types.

mode@tulpe:~/.node-red$ npm install node-red-contrib-smartmeter

up to date, audited 239 packages in 2s

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

found 0 vulnerabilities
mode@tulpe:~/.node-red$ npm fund
node-red-project@0.0.1
├─┬ https ://opencollective.com/node-red-contrib-modbus
│ │ └── node-red-contrib-modbus@5.13.3
│ ├── https ://opencollective.com/serialport/donate
│ │   └── @serialport/list@9.0.7, @serialport/bindings@9.0.7, @serialport/binding-abstract@9.0.7, @serialport/parser-readline@9.0.7, @serialport/parser-delimiter@9.0.7, serialport@9.0.7, @serialport/binding-mock@9.0.7, @serialport/parser-byte-length@9.0.7, @serialport/parser-cctalk@9.0.7, @serialport/parser-inter-byte-timeout@9.0.7, @serialport/parser-ready@9.0.7, @serialport/parser-regex@9.0.7, @serialport/stream@9.0.7
│ ├── https ://github.com/sponsors/feross
│ │   └── buffer@5.7.1, base64-js@1.5.1, ieee754@1.2.1, simple-concat@1.0.1
│ └── https ://github.com/sponsors/sindresorhus
│     └── mimic-response@2.1.0
├── https ://github.com/sponsors/epoberezkin
│   └── ajv@6.12.6
└── https ://github.com/sponsors/ljharb
    └── es-abstract@1.19.1, call-bind@1.0.2, es-to-primitive@1.2.1, is-date-object@1.0.5, has-tostringtag@1.0.0, is-symbol@1.0.4, get-intrinsic@1.1.1, get-symbol-description@1.0.0, has-symbols@1.0.2, is-callable@1.2.4, is-negative-zero@2.0.1, is-regex@1.1.4, is-shared-array-buffer@1.0.1, is-string@1.0.7, is-weakref@1.0.1, object-inspect@1.11.0, object.assign@4.1.2, string.prototype.trimend@1.0.4, string.prototype.trimstart@1.0.4, unbox-primitive@1.0.1, has-bigints@1.0.1, which-boxed-primitive@1.0.2, is-bigint@1.0.4, is-boolean-object@1.1.2, is-number-object@1.0.6, side-channel@1.0.4

And here ist what to log says:

Oct 21 16:51:01 tulpe Node-RED[83886]: 21 Oct 16:51:01 - [info] Stopped modified flows
Oct 21 16:51:01 tulpe Node-RED[83886]: 21 Oct 16:51:01 - [info] Waiting for missing types to be registered:
Oct 21 16:51:01 tulpe Node-RED[83886]: 21 Oct 16:51:01 - [info]  - smartmeter

Can you show us the full startup log please?

I would guess that my updated node.js could cause the problem (with the smartmeter node)

mode@tulpe:~/.node-red$ node-red -v
21 Oct 17:06:57 - [info]

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

21 Oct 17:06:57 - [info] Node-RED version: v1.3.2
21 Oct 17:06:57 - [info] Node.js  version: v14.18.1
21 Oct 17:06:57 - [info] Linux 5.4.0-89-generic x64 LE
21 Oct 17:06:57 - [info] Loading palette nodes
21 Oct 17:06:58 - [warn] ------------------------------------------------------
21 Oct 17:06:58 - [warn] [node-red-contrib-smartmeter/smartmeter] Error: The module '/home/mode/.node-red/node_modules/@serialport/bindings/build/Release/bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 83. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
21 Oct 17:06:58 - [warn] ------------------------------------------------------
21 Oct 17:06:58 - [info] Settings file  : /home/mode/.node-red/settings.js
21 Oct 17:06:58 - [info] Context store  : 'default' [module=memory]
21 Oct 17:06:58 - [info] User directory : /home/mode/.node-red
21 Oct 17:06:58 - [warn] Projects disabled : editorTheme.projects.enabled=false
21 Oct 17:06:58 - [info] Flows file     : /home/mode/.node-red/flows_tulpe.json
21 Oct 17:06:58 - [info] Server now running at http://127.0.0.1:1880/
21 Oct 17:06:58 - [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.
---------------------------------------------------------------------

21 Oct 17:06:58 - [info] Starting flows
21 Oct 17:06:58 - [info] Started flows

21 Oct 17:07:20 - [info] Stopping modified flows
21 Oct 17:07:20 - [info] Stopped modified flows
21 Oct 17:07:20 - [info] Waiting for missing types to be registered:
21 Oct 17:07:20 - [info]  - smartmeter

Yeahhh
npm rebuild
did the job.
I just need to read the logs.

THANKS marcus and collin!

Ok,

So the module uses a native Node JS binary, that was built on the old version of node.
can you try (again in .node-red)

npm rebuild node-red-contrib-smartmeter

EDIT
You beat me to it :slight_smile:

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.