Problème suite a mise à jour

Bonjour,
Mysensors ne fonctionne plus suite à mise à jour dernière version de mysensors (2022-06-06 22:08:16).
En cliquant sur redémarrer démon, ça passe OK puis desuite NOK
Jusqu’à présent tout fonctionnait bien avec la modif du fichier package.json
Capture2

Je ne sais pas ou chercher…
Merci pour votre aide

Jean-luc

Hello, Ce problème est lié à la mise à jour du Node.js dans le core Jeedom. Pour résoudre ton problème il faut lancer ces commandes dans une fenêtre terminal :

cd /var/www/html/plugins/mysensors/resources/
npm install

Le pluging Mysensors a besoin d’une mise à jour (non disponible à ce jour) gérant la nouvelle version du Node.js

Ah bon ? première nouvelle

Bonsoir @jlb
En mettant le plugin en debug et en postant des logs cela pourrait être utile à Lunarok non?

Qu’est ce qui vous permet d’étayer vos dire ?

@tdouez
@lunarok
@iPapy
Bonjour à tous et merci pour votre aide
Actuellement tout fonctionne…

Ci-après les actions effectuées :
Au passage de jeedom 4.1 à 4.2, mysensors nok
Mise à jour de mysensors et toujours nok
Relance des dépendances : affichage de la date courante dans le champ dernière installation
mais aucune action visible dans les logs Mysensors_dep
mysensors toujours nok

Retour à jeedom 4.1 grace à sauvegarde image de mon ssd
Relance des dépendances mysensors : affichage date : 2017-09-04 20:37:35 et actions visibles dans les logs Mysensors_dep
Mysensors ok
Passage de jeedom 4.1 à 4.2
Mise à jour du plugin mysensors
Mysensors ok

Ci-joint les logs actuel des dépendances
Je ne comprend pas pourquoi la date de dernière installation des dépendances est toujours : 2017-09-04 20:37:35 ?
Et je n’ose pas relancer une nouvelle install des dépendances de peur d’avoir mysensors nok (l’ensembles de mes capteurs et actionneurs pour toute ma domotique fonctionnent sur le protocole mysensors)

Début de l'installation
--2022-06-14 10:59:03--  https://raw.githubusercontent.com/lunarok/jeedom_nodejs/master/nodejs.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8000::154, 2606:50c0:8001::154, 2606:50c0:8002::154, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8000::154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1552 (1.5K) [text/plain]
Saving to: 'dependencies.sh'
0K .                                                     100% 1.42M=0.001s
2022-06-14 10:59:04 (1.42 MB/s) - 'dependencies.sh' saved [1552/1552]
dependencies.sh: 3: [: mySensors: unexpected operator
Version actuelle : 16
Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Hit:3 https://deb.nodesource.com/node_16.x buster InRelease
Fetched 15.0 kB in 2s (9174 B/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
lsb-release is already the newest version (10.2019051400+rpi1).
0 upgraded, 0 newly installed, 0 to remove and 227 not upgraded.
dependencies.sh: 29: dependencies.sh: [[: not found
KO, version obsolète à upgrader
Suppression du Nodejs existant et installation du paquet recommandé
Reading package lists...
Building dependency tree...
Reading state information...
Package 'npm' is not installed, so not removed
The following packages will be REMOVED:
nodejs*
0 upgraded, 0 newly installed, 1 to remove and 227 not upgraded.
After this operation, 116 MB disk space will be freed.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 68043 files and directories currently installed.)
Removing nodejs (16.15.1-deb-1nodesource1) ...
dpkg: warning: while removing nodejs, directory '/usr/lib/node_modules' not empty so not removed
Processing triggers for man-db (2.8.5-2) ...
dependencies.sh: 38: [: armv7l: unexpected operator
Utilisation du dépot officiel
## Installing the NodeSource Node.js 14.x repo...
## Populating apt-get cache...
+ apt-get update
Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Hit:3 https://deb.nodesource.com/node_16.x buster InRelease
Reading package lists...
## Confirming "buster" is supported...
+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_14.x/dists/buster/Release'
## Adding the NodeSource signing key to your keyring...
+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | tee /usr/share/keyrings/nodesource.gpg >/dev/null
## Creating apt sources list file for the NodeSource Node.js 14.x repo...
+ echo 'deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x buster main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x buster main' >> /etc/apt/sources.list.d/nodesource.list
## Running `apt-get update` for you...
+ apt-get update
Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Get:3 https://deb.nodesource.com/node_14.x buster InRelease [4584 B]
Get:4 https://deb.nodesource.com/node_14.x buster/main armhf Packages [786 B]
Fetched 5370 B in 2s (3205 B/s)
Reading package lists...
## Run `sudo apt-get install -y nodejs` to install Node.js 14.x and npm
## You may also need development tools to build native addons:
sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
nodejs
0 upgraded, 1 newly installed, 0 to remove and 227 not upgraded.
Need to get 23.3 MB of archives.
After this operation, 117 MB of additional disk space will be used.
Get:1 https://deb.nodesource.com/node_14.x buster/main armhf nodejs armhf 14.19.3-deb-1nodesource1 [23.3 MB]
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:
Fetched 23.3 MB in 38s (605 kB/s)
Selecting previously unselected package nodejs.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 64928 files and directories currently installed.)
Preparing to unpack .../nodejs_14.19.3-deb-1nodesource1_armhf.deb ...
Unpacking nodejs (14.19.3-deb-1nodesource1) ...
Setting up nodejs (14.19.3-deb-1nodesource1) ...
Processing triggers for man-db (2.8.5-2) ...
ln: failed to create symbolic link '/usr/bin/nodejs': File exists
Version actuelle : v14.19.3
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
> @serialport/bindings@9.2.8 install /var/www/html/plugins/mySensors/resources/node_modules/@serialport/bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
prebuild-install WARN install No prebuilt binaries found (target=14.19.3 runtime=node arch=arm libc= platform=linux)
make: Entering directory '/var/www/html/plugins/mySensors/resources/node_modules/@serialport/bindings/build'
CXX(target) Release/obj.target/bindings/src/serialport.o
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:78:69: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
^~~~~~~~~~~~~
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:135:71: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
^~~~~~~~~~~~~~~
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:175:70: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
^~~~~~~~~~~~~~
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:215:70: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
^~~~~~~~~~~~~~
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:271:68: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
^~~~~~~~~~~~
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:316:68: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
^~~~~~~~~~~~
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:366:76: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
^~~~~~~~~~~~~~~~~~~~
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)':
../src/serialport.cpp:412:70: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
^~~~~~~~~~~~~~
../src/serialport.cpp: At global scope:
../src/serialport.cpp:433:28: warning: unnecessary parentheses in declaration of 'ToParityEnum' [-Wparentheses]
SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local& v8str)) {
^
../src/serialport.cpp:452:30: warning: unnecessary parentheses in declaration of 'ToStopBitEnum' [-Wparentheses]
SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
^
In file included from ../../../nan/nan.h:58,
from ../src/./serialport.h:13,
from ../src/serialport.cpp:1:
/var/www/.cache/node-gyp/14.19.3/include/node/node.h:793:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local, v8::Local, void*)'} [-Wcast-function-type]
(node::addon_register_func) (regfunc),                          \
^
/var/www/.cache/node-gyp/14.19.3/include/node/node.h:827:3: note: in expansion of macro 'NODE_MODULE_X'
NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/serialport.cpp:486:1: note: in expansion of macro 'NODE_MODULE'
NODE_MODULE(serialport, init);
^~~~~~~~~~~
CXX(target) Release/obj.target/bindings/src/serialport_unix.o
../src/serialport_unix.cpp: In function 'int setup(int, OpenBaton*)':
../src/serialport_unix.cpp:179:60: warning: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=]
snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
^~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp:179:13: note: 'snprintf' output 20 or more bytes (assuming 1043) into a destination of size 1024
snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp: In function 'void EIO_Open(uv_work_t*)':
../src/serialport_unix.cpp:89:60: warning: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp:89:13: note: 'snprintf' output 22 or more bytes (assuming 1045) into a destination of size 1024
snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CXX(target) Release/obj.target/bindings/src/poller.o
CXX(target) Release/obj.target/bindings/src/serialport_linux.o
SOLINK_MODULE(target) Release/obj.target/bindings.node
COPY Release/bindings.node
make: Leaving directory '/var/www/html/plugins/mySensors/resources/node_modules/@serialport/bindings/build'
added 122 packages from 100 contributors and audited 122 packages in 49.026s
21 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
rm: cannot remove '/tmp/mySensors_dep': No such file or directory
Fin de l'installation

@lunarok, excuse moi ma réponse était hâtive. Dan smon cas, suite à la mise à jour du core Jeedom avec le changement de Node;js. Les plugin Mysensors ne fonctionnait plus avec un message d’erreur sur un problème de version Node.js non trouvée (je n’ai plus la log d’erreur). La seule possibilité trouvée est de se mettre ans la directory ressource et ensuite relancer l’installation des dépendance avec npm. Depuis l’interface Jeedom, cela ne fonctionne pas (pas d’erreur à l’écran).

Ce que tu donnes comme cas n’a rien à voir avec mon plugin, tu le dis toi meme : depuis la mise à jour du core qui a mis à jour nodejs, il me dit impossible de trouver le binaire nodejs
C’est la mise à jour du core le soucis, pas mon plugin. Il met à jour nodejs mais avec des liens manquants. Ce que mon ancien script de dépendance a corrigé quand tu l’as lancé. Le core a été mis à jour quelques jours après mes updates de passage du système de dépendance en 4.2, sans grosse comm, et ca retombe sur mes plugins comme source des problèmes … alors que j’aurai rien fait, c’est pareil ca pétait les plugins.

@lunarok oui en effet je m’excuse pour ce raccourci. Il y a d’autres plugins qui sont aussi impactés par ce problème et je pensais par mégarde que le pb était dans le plugin.