Question about npm Install

Hi,
I asked some time ago for installing node-red-contrib-nibepi 1.1.1 under Node.JS 14 or 16.

npm install --save anerdins/node-red-contrib-nibepi#master

Link

Node.JS 12 will expire soon and the nibepi can´t be installed with JS 14 or 16.

Is there anybody who has a test system and can tell me where is the problem with Node JS 14 / 16 ?
Maybe there is a simple solution (rights management).

Mr. Anerdin does not answere :weary:

How do you know? If you do know that then why do you need someone to try?

I can confirm that the git version will not install with nodjs 16. The node needs updating. I suggest opening an issue on the node.

I tried it some time ago.

did I understand correctly that there is nothing I can do to install it somehow?

is manually installing possible ?

No, running npm install is manually installing it.
The alternative is to fork the repository and fix the code so that it does compile. Either do that yourself, or if you are a commercial organisation, then hire someone to do it. For someone with the correct experience it is may be only few hours work.

1 Like

:crazy_face: i´m no commercial organisation :rofl:
ok, I think I have to leave one RPi wih Node JS 12 4 ever with NibePi.

Do you know what is the easiest way to exchange values between 2 NodeRed (RPi) my lan ?

I will install a 2nd Node-Red with Node JS 16 for my other flows.

Easiest might be add http endpoint in new node-red & call it from old node-red but a better solution would be to communicate via MQTT

1 Like

V12 is not out of support for another six months, and will continue to work, if you don't need to add major new features to it, for years after that. Node red has only just removed support for nodejs version 8.

Personally I would say the MQTT is easier than using http endpoints.

1 Like

@Steve-Mcl you´ve shown me a year ago a nice Node JS 14 feature with rounding and replacing . -> ,
something like ".. to location german".
Do you remember? I don´t find it.

it would replace:

msg.payload = msg.payload.toFixed(2).replace('.', ',');

Was it this JS method ?

1 Like

thank you, so I found Steve´s answere:

There is i18n formatting for angular but I dont think it is included with dashboard.

Anyhow, if you are using NODE -v 14 or greater, you can use...
number.toLocaleString("de-DE", {minimumFractionDigits: 2});

e.g...

var n = Number(msg.payload.BattEnt) / 1000;
msg.payload = n.toLocaleString("de-DE", {minimumFractionDigits: 2}));

however, any US or English folk will be very confused