I used in the past node-red-contrib-zwave, but today I crashed my node red (I have no idea why, but it did, something with a modbus flow that probably caused a loop or so....)
Only option was to delete my flows and even after that I updated to the latest version of node-red.
After back importing my project, only the node-red-contrib-zwave was not happy because of the node js version...
I can't really explain what I did, but I've uninstalled node-red-contrib-zwave from the pallet, update my whole PI, and now, when I want to re-install node-red-contrib-zwave it's not possible.
I get following message
-----------------------------------------------------------
2021-10-12T15:29:33.707Z Install : node-red-contrib-openzwave 1.6.2
2021-10-12T15:29:33.776Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-openzwave@1.6.2
2021-10-12T15:29:44.045Z [err] npm
2021-10-12T15:29:44.045Z [err] WARN deprecated bcrypt@3.0.6: versions < v5.0.0 do not handle NUL in passwords properly
2021-10-12T15:29:44.050Z [err] npm
2021-10-12T15:29:44.050Z [err] WARN
2021-10-12T15:29:44.051Z [err] deprecated bcrypt@3.0.8: versions < v5.0.0 do not handle NUL in passwords properly
2021-10-12T15:29:44.093Z [err] npm
2021-10-12T15:29:44.093Z [err] WARN deprecated node-pre-gyp@0.12.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
2021-10-12T15:29:44.094Z [err] npm
2021-10-12T15:29:44.094Z [err] WARN deprecated node-pre-gyp@0.14.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
2021-10-12T15:29:46.574Z [err] npm
2021-10-12T15:29:46.574Z [err] ERR! code 1
2021-10-12T15:29:46.574Z [err] npm ERR!
2021-10-12T15:29:46.575Z [err] path /home/pi/.node-red/node_modules/openzwave-shared
2021-10-12T15:29:46.590Z [err] npm ERR!
2021-10-12T15:29:46.590Z [err] command failed
2021-10-12T15:29:46.590Z [err] npm ERR!
2021-10-12T15:29:46.591Z [err] command sh -c node-gyp rebuild
2021-10-12T15:29:46.591Z [err] npm ERR!
2021-10-12T15:29:46.591Z [err] gyp info it worked if it ends with ok
2021-10-12T15:29:46.591Z [err] npm ERR!
2021-10-12T15:29:46.591Z [err] gyp info using node-gyp@8.2.0
2021-10-12T15:29:46.591Z [err] npm ERR!
2021-10-12T15:29:46.591Z [err] gyp info using node@14.18.0 | linux | arm
2021-10-12T15:29:46.591Z [err] npm ERR!
2021-10-12T15:29:46.591Z [err] gyp ERR! find Python
2021-10-12T15:29:46.591Z [err] npm
2021-10-12T15:29:46.591Z [err] ERR! gyp ERR! find Python Python is not set from command line or npm configuration
2021-10-12T15:29:46.591Z [err] npm
2021-10-12T15:29:46.592Z [err] ERR! gyp ERR! find Python Python is not set from environment variable PYTHON
2021-10-12T15:29:46.592Z [err] npm
2021-10-12T15:29:46.592Z [err] ERR! gyp ERR! find Python checking if "python3" can be used
2021-10-12T15:29:46.592Z [err] npm ERR!
2021-10-12T15:29:46.592Z [err] gyp ERR! find Python - executable path is "/usr/bin/python3"
2021-10-12T15:29:46.592Z [err] npm ERR! gyp ERR! find Python - version is "3.5.3"
2021-10-12T15:29:46.592Z [err] npm ERR! gyp ERR! find Python - version is 3.5.3 - should be >=3.6.0
2021-10-12T15:29:46.592Z [err] npm ERR!
2021-10-12T15:29:46.592Z [err] gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
2021-10-12T15:29:46.592Z [err] npm ERR!
2021-10-12T15:29:46.593Z [err] gyp ERR! find Python checking if "python" can be used
2021-10-12T15:29:46.593Z [err] npm ERR!
2021-10-12T15:29:46.593Z [err] gyp ERR! find Python - executable path is "/usr/bin/python"
2021-10-12T15:29:46.593Z [err] npm ERR!
2021-10-12T15:29:46.593Z [err] gyp ERR! find Python - version is "2.7.13"
2021-10-12T15:29:46.593Z [err] npm ERR!
2021-10-12T15:29:46.593Z [err] gyp ERR! find Python - version is 2.7.13 - should be >=3.6.0
2021-10-12T15:29:46.593Z [err] npm
2021-10-12T15:29:46.593Z [err] ERR! gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
2021-10-12T15:29:46.593Z [err] npm
2021-10-12T15:29:46.593Z [err] ERR! gyp ERR! find Python
2021-10-12T15:29:46.593Z [err] npm
2021-10-12T15:29:46.593Z [err] ERR! gyp ERR! find Python **********************************************************
2021-10-12T15:29:46.593Z [err] npm
2021-10-12T15:29:46.594Z [err] ERR! gyp ERR! find Python You need to install the latest version of Python.
2021-10-12T15:29:46.594Z [err] npm
2021-10-12T15:29:46.594Z [err] ERR! gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
2021-10-12T15:29:46.594Z [err] npm
2021-10-12T15:29:46.594Z [err] ERR! gyp ERR! find Python you can try one of the following options:
2021-10-12T15:29:46.594Z [err] npm ERR!
2021-10-12T15:29:46.594Z [err] gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
2021-10-12T15:29:46.594Z [err] npm ERR!
2021-10-12T15:29:46.594Z [err] gyp ERR! find Python (accepted by both node-gyp and npm)
2021-10-12T15:29:46.594Z [err] npm ERR!
2021-10-12T15:29:46.594Z [err] gyp ERR! find Python - Set the environment variable PYTHON
2021-10-12T15:29:46.594Z [err] npm ERR!
2021-10-12T15:29:46.595Z [err] gyp ERR! find Python - Set the npm configuration variable python:
2021-10-12T15:29:46.595Z [err] npm ERR!
2021-10-12T15:29:46.595Z [err] gyp ERR! find Python npm config set python "/path/to/pythonexecutable"
2021-10-12T15:29:46.595Z [err] npm ERR!
2021-10-12T15:29:46.595Z [err] gyp ERR! find Python For more information consult the documentation at:
2021-10-12T15:29:46.595Z [err] npm
2021-10-12T15:29:46.595Z [err] ERR! gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
2021-10-12T15:29:46.595Z [err] npm
2021-10-12T15:29:46.595Z [err] ERR! gyp ERR! find Python **********************************************************
2021-10-12T15:29:46.595Z [err] npm
2021-10-12T15:29:46.595Z [err] ERR! gyp ERR! find Python
2021-10-12T15:29:46.595Z [err] npm
2021-10-12T15:29:46.596Z [err] ERR! gyp ERR! configure error
2021-10-12T15:29:46.596Z [err] npm
2021-10-12T15:29:46.596Z [err] ERR! gyp ERR! stack Error: Could not find any Python installation to use
2021-10-12T15:29:46.596Z [err] npm ERR! gyp ERR! stack at PythonFinder.fail (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:330:47)
2021-10-12T15:29:46.596Z [err] npm ERR!
2021-10-12T15:29:46.596Z [err] gyp ERR! stack at PythonFinder.runChecks (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:159:21)
2021-10-12T15:29:46.596Z [err] npm ERR!
2021-10-12T15:29:46.596Z [err] gyp ERR! stack at PythonFinder.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:266:16)
2021-10-12T15:29:46.596Z [err] npm ERR!
2021-10-12T15:29:46.596Z [err] gyp ERR! stack at PythonFinder.execFileCallback (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:297:7)
2021-10-12T15:29:46.596Z [err] npm ERR!
2021-10-12T15:29:46.597Z [err] gyp ERR! stack at ChildProcess.exithandler (child_process.js:374:7)
2021-10-12T15:29:46.597Z [err] npm
2021-10-12T15:29:46.597Z [err] ERR! gyp ERR! stack at ChildProcess.emit (events.js:400:28)
2021-10-12T15:29:46.597Z [err] npm
2021-10-12T15:29:46.597Z [err] ERR! gyp ERR! stack at maybeClose (internal/child_process.js:1058:16)
2021-10-12T15:29:46.597Z [err] npm
2021-10-12T15:29:46.597Z [err] ERR! gyp ERR! stack at Socket.<anonymous> (internal/child_process.js:443:11)
2021-10-12T15:29:46.597Z [err] npm
2021-10-12T15:29:46.597Z [err] ERR! gyp ERR! stack at Socket.emit (events.js:400:28)
2021-10-12T15:29:46.597Z [err] npm
2021-10-12T15:29:46.597Z [err] ERR! gyp ERR! stack at Pipe.<anonymous> (net.js:686:12)
2021-10-12T15:29:46.597Z [err] npm
2021-10-12T15:29:46.597Z [err] ERR! gyp ERR! System Linux 4.19.66-v7+
2021-10-12T15:29:46.598Z [err] npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
2021-10-12T15:29:46.598Z [err] npm ERR!
2021-10-12T15:29:46.598Z [err] gyp ERR! cwd /home/pi/.node-red/node_modules/openzwave-shared
2021-10-12T15:29:46.598Z [err] npm ERR!
2021-10-12T15:29:46.598Z [err] gyp ERR! node -v v14.18.0
2021-10-12T15:29:46.598Z [err] npm ERR!
2021-10-12T15:29:46.598Z [err] gyp ERR! node-gyp -v v8.2.0
2021-10-12T15:29:46.598Z [err] npm
2021-10-12T15:29:46.598Z [err] ERR! gyp ERR! not ok
2021-10-12T15:29:46.799Z [err]
2021-10-12T15:29:46.799Z [err] npm ERR! A complete log of this run can be found in:
2021-10-12T15:29:46.799Z [err] npm ERR! /home/pi/.npm/_logs/2021-10-12T15_29_46_602Z-debug.log
2021-10-12T15:29:46.819Z rc=1
I now I should install some prerequisites, but there I also have no succes.
So, as totally not a Linux man, can someone help me step by step to get this node back installed on my system, so my zwave part of the home works back again.
I think there are parts that are no longer working with that node.
I would recommend to use node-red-contrib-zwavejs instead, yes you will need to rework the flows, but this node works without any issues (unlike the various zwave nodes)
It is actively maintained and has quite some cool features (including a topology map of all devices/coordinators).
No, it probably wasn't the only (or best) option. For the future, if you start node-red using node-red --safe
it will start the editor without starting the flows, then you can sort out the problem and deploy, at which time it will start the flows.
It's in Dutch, but version 3.5.3-1 is installed...
**pi@raspberrypi** : **~ $** sudo apt install python3 idle3
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
idle3 is reeds de nieuwste versie (3.5.3-1).
python3 is reeds de nieuwste versie (3.5.3-1).
De volgende pakketten zijn automatisch geïnstalleerd en zijn niet langer nodig:
libbluray2 realpath
Gebruik 'sudo apt autoremove' om ze te verwijderen.
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Does it succeed if you go into your .node-red folder and run npm install node-red-contrib-zwave-js
If that gives the same error (exactly the same) then what does this give which python
and assuming that gives you the location of python (say, for example /path/to/python) what about ls -l /path/to/python
run the install IN the folder gives +/- the same error.
He is not happy about Phyton.. here he does talk about different version. And that's the part I don't understand about Linux, it seems you can install things on multiple levels and I don't see how that structure works.
> pi@raspberrypi:~ $ cd .node-red
> pi@raspberrypi:~/.node-red $ npm install node-red-contrib-zwave-js
> npm WARN deprecated bcrypt@3.0.6: versions < v5.0.0 do not handle NUL in passwords properly
> npm WARN deprecated bcrypt@3.0.8: versions < v5.0.0 do not handle NUL in passwords properly
> npm WARN deprecated node-pre-gyp@0.12.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
> npm WARN deprecated node-pre-gyp@0.14.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
> npm ERR! code 1
> npm ERR! path /home/pi/.node-red/node_modules/@serialport/bindings
> npm ERR! command failed
> npm ERR! command sh -c prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
> npm ERR! prebuild-install WARN install No prebuilt binaries found (target=14.18.0 runtime=node arch=arm libc= platform=linux)
> npm ERR! gyp info it worked if it ends with ok
> npm ERR! gyp info using node-gyp@8.2.0
> npm ERR! gyp info using node@14.18.0 | linux | arm
> npm ERR! gyp ERR! find Python
> npm ERR! gyp ERR! find Python Python is not set from command line or npm configuration
> npm ERR! gyp ERR! find Python Python is not set from environment variable PYTHON
> npm ERR! gyp ERR! find Python checking if "python3" can be used
> npm ERR! gyp ERR! find Python - executable path is "/usr/bin/python3"
> npm ERR! gyp ERR! find Python - version is "3.5.3"
> npm ERR! gyp ERR! find Python - version is 3.5.3 - should be >=3.6.0
> npm ERR! gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
> npm ERR! gyp ERR! find Python checking if "python" can be used
> npm ERR! gyp ERR! find Python - executable path is "/usr/bin/python"
> npm ERR! gyp ERR! find Python - version is "2.7.13"
> npm ERR! gyp ERR! find Python - version is 2.7.13 - should be >=3.6.0
> npm ERR! gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
> npm ERR! gyp ERR! find Python
> npm ERR! gyp ERR! find Python **********************************************************
> npm ERR! gyp ERR! find Python You need to install the latest version of Python.
> npm ERR! gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
> npm ERR! gyp ERR! find Python you can try one of the following options:
> npm ERR! gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
> npm ERR! gyp ERR! find Python (accepted by both node-gyp and npm)
> npm ERR! gyp ERR! find Python - Set the environment variable PYTHON
> npm ERR! gyp ERR! find Python - Set the npm configuration variable python:
> npm ERR! gyp ERR! find Python npm config set python "/path/to/pythonexecutable"
> npm ERR! gyp ERR! find Python For more information consult the documentation at:
> npm ERR! gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
> npm ERR! gyp ERR! find Python **********************************************************
> npm ERR! gyp ERR! find Python
> npm ERR! gyp ERR! configure error
> npm ERR! gyp ERR! stack Error: Could not find any Python installation to use
> npm ERR! gyp ERR! stack at PythonFinder.fail (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:330:47)
> npm ERR! gyp ERR! stack at PythonFinder.runChecks (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:159:21)
> npm ERR! gyp ERR! stack at PythonFinder.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:266:16)
> npm ERR! gyp ERR! stack at PythonFinder.execFileCallback (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:297:7)
> npm ERR! gyp ERR! stack at ChildProcess.exithandler (child_process.js:374:7)
> npm ERR! gyp ERR! stack at ChildProcess.emit (events.js:400:28)
> npm ERR! gyp ERR! stack at maybeClose (internal/child_process.js:1058:16)
> npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5)
> npm ERR! gyp ERR! System Linux 4.19.66-v7+
> npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
> npm ERR! gyp ERR! cwd /home/pi/.node-red/node_modules/@serialport/bindings
> npm ERR! gyp ERR! node -v v14.18.0
> npm ERR! gyp ERR! node-gyp -v v8.2.0
> npm ERR! gyp ERR! not ok
>
> npm ERR! A complete log of this run can be found in:
> npm ERR! /home/pi/.npm/_logs/2021-10-13T07_22_57_947Z-debug.log
2nd Question is indeed the location.. (I've also run this in the node-red folder)
pi@raspberrypi:~/.node-red $ which python
/usr/bin/python
And there we have indeed the older version of 2017...
Next question will be how we need to update this... (and I also installed yesterdag the newest version... so I don't follow this part)
pi@raspberrypi:~/.node-red $ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 jan 24 2017 /usr/bin/python -> python2.7
The problem is that the node says it needs at least Python 3.6.0 but it seems that version is not available for Stretch. If you google for how to install 3.6 on a pi you will find suggestions. Alternatively I guess that an upgrade to buster would do it, though can't check that now.
Here he indeed said another time the latest version was already installed.
Then I just run all the other command of @ marcus-j-davies (in the .node-red folder, don't know if that's important) and after that I was able to fullfil the setup.