Z-Wave - Gladys v4 - Windows WSL

Bonjour,

J’ai cherché pendant des jours, mais je n’ai rien trouver à ce sujet.

Après avoir installé et configurer Gladys V4 sur mon PC Windows afin de pouvoir faire du Dev.

La première étape est de mettre à jour la distribution:
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

Installation des outils/librairies:
sudo apt install sqlite3 make g++ git coreutils tzdata nmap openssl gzip udev -y

L’installation de node.js
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh sudo bash nodesource_setup.sh sudo apt install nodejs -y

La compilation de openzwave
git clone https://github.com/OpenZWave/open-zwave.git cd open-zwave git checkout 5d18bbfb21d8cdc61ee6baae6f478c963297dfc5 make sudo make install sudo sh -c "echo '/usr/local/lib64' > /etc/ld.so.conf.d/openzwave.conf" sudo ldconfig cd && rm -rf open-zwave

Ensuite j’ai cloné la repo Gladys
git clone https://github.com/GladysAssistant/Gladys gladys && cd gladys

J’ai installé les dépendances NPM, puis lancer la migration de DB

J’arrive enfin à lancer le serveur après quelques soucis lors de l’installation des dépendances NPM sur serveur.

udo@LAPTOP-4JPT1TSR:~/gladys/server$ npm start

> gladys-server@ start /home/udo/gladys/server
> cross-env NODE_ENV=development nodemon index.js

[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
2021-05-04T10:58:49+0200 <debug> brain.train.js:59 (Brain.train) Training brain...
2021-05-04T10:58:49+0200 <debug> brain.train.js:61 (Brain.train) Brain trained!
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'node-hue-api'
Require stack:
- /home/udo/gladys/server/services/philips-hue/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.PhilipsHueService [as philips-hue] (/home/udo/gladys/server/services/philips-hue/index.js:8:21)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 4)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/philips-hue/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'ical'
Require stack:
- /home/udo/gladys/server/services/caldav/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.CalDAVService [as caldav] (/home/udo/gladys/server/services/caldav/index.js:7:16)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 1)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/caldav/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'node-telegram-bot-api'
Require stack:
- /home/udo/gladys/server/services/telegram/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.TelegramService [as telegram] (/home/udo/gladys/server/services/telegram/index.js:10:23)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 6)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/telegram/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'serialport'
Require stack:
- /home/udo/gladys/server/services/usb/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.ZwaveService [as usb] (/home/udo/gladys/server/services/usb/index.js:5:22)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 7)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/usb/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'openzwave-shared'
Require stack:
- /home/udo/gladys/server/services/zwave/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.ZwaveService [as zwave] (/home/udo/gladys/server/services/zwave/index.js:7:17)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 9)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/zwave/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'mqtt'
Require stack:
- /home/udo/gladys/server/services/mqtt/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.MqttService [as mqtt] (/home/udo/gladys/server/services/mqtt/index.js:6:16)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 3)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/mqtt/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'tplink-smarthome-api'
Require stack:
- /home/udo/gladys/server/services/tp-link/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.TpLinkService [as tp-link] (/home/udo/gladys/server/services/tp-link/index.js:7:22)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 13)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/tp-link/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'ewelink-api'
Require stack:
- /home/udo/gladys/server/services/ewelink/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.EwelinkService [as ewelink] (/home/udo/gladys/server/services/ewelink/index.js:7:22)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 12)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/ewelink/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'fluent-ffmpeg'
Require stack:
- /home/udo/gladys/server/services/rtsp-camera/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.RtspCameraService [as rtsp-camera] (/home/udo/gladys/server/services/rtsp-camera/index.js:7:18)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 5)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/rtsp-camera/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <debug> service.load.js:46 () Error: Cannot find module 'mqtt'
Require stack:
- /home/udo/gladys/server/services/zigbee2mqtt/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.Zigbee2mqttService [as zigbee2mqtt] (/home/udo/gladys/server/services/zigbee2mqtt/index.js:6:16)
    at /home/udo/gladys/server/lib/service/service.load.js:38:65
    at async Promise.all (index 14)
    at async Service.load (/home/udo/gladys/server/lib/service/service.load.js:15:3)
    at async Object.start (/home/udo/gladys/server/lib/index.js:106:9)
    at async /home/udo/gladys/server/index.js:50:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/zigbee2mqtt/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <info> index.js:19 (Object.start) Starting example service
2021-05-04T10:58:49+0200 <info> index.js:15 (Object.start) Starting Bluetooth service
2021-05-04T10:58:49+0200 <debug> bluetooth.start.js:14 (BluetoothManager.start) Bluetooth: Listening Bluetooth events
2021-05-04T10:58:49+0200 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
  <rejected> Error: Cannot find module '@abandonware/noble'
  Require stack:
  - /home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js
  - /home/udo/gladys/server/services/bluetooth/lib/index.js
  - /home/udo/gladys/server/services/bluetooth/index.js
  - /home/udo/gladys/server/services/index.js
  - /home/udo/gladys/server/lib/index.js
  - /home/udo/gladys/server/index.js
      at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
      at Function.Module._load (internal/modules/cjs/loader.js:725:27)
      at Module.require (internal/modules/cjs/loader.js:952:19)
      at require (internal/modules/cjs/helpers.js:88:18)
      at BluetoothManager.start (/home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js:16:20)
      at Object.start (/home/udo/gladys/server/services/bluetooth/index.js:16:22)
      at Service.start (/home/udo/gladys/server/lib/service/service.start.js:33:21) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
      '/home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js',
      '/home/udo/gladys/server/services/bluetooth/lib/index.js',
      '/home/udo/gladys/server/services/bluetooth/index.js',
      '/home/udo/gladys/server/services/index.js',
      '/home/udo/gladys/server/lib/index.js',
      '/home/udo/gladys/server/index.js'
    ]
  }
}
2021-05-04T10:58:49+0200 <error> index.js:16 (process.<anonymous>) Error: Cannot find module '@abandonware/noble'
Require stack:
- /home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js
- /home/udo/gladys/server/services/bluetooth/lib/index.js
- /home/udo/gladys/server/services/bluetooth/index.js
- /home/udo/gladys/server/services/index.js
- /home/udo/gladys/server/lib/index.js
- /home/udo/gladys/server/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at BluetoothManager.start (/home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js:16:20)
    at Object.start (/home/udo/gladys/server/services/bluetooth/index.js:16:22)
    at Service.start (/home/udo/gladys/server/lib/service/service.start.js:33:21) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js',
    '/home/udo/gladys/server/services/bluetooth/lib/index.js',
    '/home/udo/gladys/server/services/bluetooth/index.js',
    '/home/udo/gladys/server/services/index.js',
    '/home/udo/gladys/server/lib/index.js',
    '/home/udo/gladys/server/index.js'
  ]
}
2021-05-04T10:58:49+0200 <info> index.js:14 (Object.start) Starting Xiaomi service
2021-05-04T10:58:49+0200 <info> index.js:15 (Object.start) Starting Tasmota service
2021-05-04T10:58:49+0200 <warn> service.start.js:44 (Service.start) Unable to start service tasmota TypeError: Cannot read property 'device' of null
    at TasmotaMQTTHandler.connect (/home/udo/gladys/server/services/tasmota/lib/mqtt/tasmota.mqtt.connect.js:11:20)
    at /home/udo/gladys/server/services/tasmota/lib/tasmota.connect.js:8:62
    at Array.forEach (<anonymous>)
    at TasmotaHandler.connect (/home/udo/gladys/server/services/tasmota/lib/tasmota.connect.js:8:33)
    at Object.start (/home/udo/gladys/server/services/tasmota/index.js:16:20)
    at Service.start (/home/udo/gladys/server/lib/service/service.start.js:33:21)
2021-05-04T10:58:49+0200 <info> index.js:20 (Object.start) Starting Open Weather service
2021-05-04T10:58:49+0200 <info> service.start.js:40 (Service.start) Service openweather is not configured, so it was not started.
2021-05-04T10:58:49+0200 <debug> scene.init.js:12 (SceneManager.init) Scene.init
2021-05-04T10:58:49+0200 <debug> device.init.js:31 (DeviceManager.init) Device : init : Found 0 devices
2021-05-04T10:58:49+0200 <debug> scheduler.init.js:9 (Scheduler.init) Scheduler.init
2021-05-04T10:58:49+0200 <info> index.js:63 (Server.<anonymous>) Server listening on port 1443

Il y a plein de modules qui ne sont pas trouvé a priori … bon, je sais pas si c’est problématique car j’ai accès à l’interface de Gladys donc …

En revanche … “Gladys n’est connectée à aucune clé USB Z-Wave.” et aucune clé USB n’est trouvée :frowning: Sachant que j’ai suivi l’installation de la doc … je vois pas à quel moment on utilise docker … car dans les prérequis il y Docker Desktop pour Windows … et j’ai vu dans le forum plein de solutions pour la clé USB Z-Wave mais Version Docker …

Donc j’ai besoin de votre aide à ce sujet … :pray: :pray: :pray: :pray: :pray:

Il semblerait également que mon instance Gladys n’est pas connecté à internet … en tout cas pas tout le temps …

PS : Si vous pouvez également m’aider à savoir comment faire pour pouvoir exécuter “Code .” depuis Ubuntu WSL, car ça fonctionne depuis mon powershell mais pas depuis mon Ubuntu :dizzy_face:

Salut @tagcash

Pourquoi es tu root ? C’est pas censé être setup comme ça.

Pour builder gladys, pour l’instant tu ne l’exploite pas

Pas de soucis, faudrait voir ce qui posait problème au niveau de l’installation des packages

Voilà j’ai éditer mon poste initial avec mes nouveau log, j’ai enfin réussi à installer gladys sans être en root :slight_smile: … j’ai quand même du faire un sudo npm install mais voilà je crois être setup comme il faut maintenant mais j’ai toujours le même problème ma clé usb z-wave n’est pas reconnu …

Ces logs proviennent de ta dernière installation?

Si oui, ton npm install n’a pas fonctionné et donc Gladys ne fonctionnera pas correctement !

Oui les logs sont a jour part rapport à ma dernière installation, j’ai suivi la Doc comme d’hab mais cette fois je n’ai pas vue d’erreurs lors de mon NPM Install … Mais si tu me dis qu’il y a quand même un problème je sais plus quoi faire :cry:

Là on parle des modules des services, services qui se trouvent dans le dossier server/services.

Quand tu dis:

J’ai installé les dépendances NPM

Comment as tu procédé?

On est d’accord, tu t’es mis dans le dossier server:

cd server

et tu as fais:

npm install

?

Si oui :

Quand tu installe les dépendances du server, il y a une tâche NPM postinstall qui va installer un par un les dépendances de chaque service. Pour ne pas que ça “bloque” l’installation pour les développeurs qui n’ont pas tout, cette tâche fail silently quand il y a une erreur, c’est voulu.

Si tu veux installer les dépendances des services en direct pour voir l’erreur complète, place toi dans le dossier d’un service: par exemple le service zwave:

cd server/services/zwave

Ensuite fais:

npm install

Tu devrais voir l’erreur que tu as.

1 Like

Hello,

J’ai trouver comment faire (à priori) une installation à chaque fois fonctionnel.

Mettre à jour la distribution:
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

Installation des outils/librairies:
sudo apt install sqlite3 make g++ git coreutils tzdata nmap openssl gzip udev -y

Installation de Node.js 14:
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt install nodejs -y

Et la j’ai trouvé sur internet et après tests en effet cela semble mieux fonctionner, j’ai installer en plus … node.js comme suit:
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt -y install nodejs

(peut-être que juste la deuxième méthode suffit, dans le doute j’ai fait les deux cela semble fonctionner.)

Ensuite j’ai suivis la doc :
git clone https://github.com/OpenZWave/open-zwave.git
cd open-zwave
git checkout 5d18bbfb21d8cdc61ee6baae6f478c963297dfc5
make
sudo make install
sudo sh -c "echo '/usr/local/lib64' > /etc/ld.so.conf.d/openzwave.conf"
sudo ldconfig
cd && rm -rf open-zwave

Clone repo:
git clone https://github.com/GladysAssistant/Gladys gladys && cd gladys

Installation des dépendances NPM serveurs:
cd server
npm install

Migration DB :
npm run db-migrate:dev

Et pour finir:
npm start

Et pour le front j’ai suivi la Doc pas de problème.

Je configurer Gladys, je vais pour faire l’intégration de ma clé Z-Wave (Aeotec z-stick gen5) et j’ai dans ma liste 4 ports …

  • ttyS0
  • ttyS1
  • ttyS2
  • ttyS3

Bon, je regarde sur internet et ma clé Z-Wave est sur un port COM3 côté Windows et cela semble correspondre à ttyS2 je sélectionne la ttyS2 et là c’est le drame ^^

J’ai une erreur Bluetthoot à priori …

2021-05-05T15:13:20+0200 bluetooth.start.js:14 (BluetoothManager.start) Bluetooth: Listening Bluetooth events
2021-05-05T15:13:20+0200 index.js:15 (process.) unhandledRejection catched: Promise {
Error: EAFNOSUPPORT, Address family not supported by protocol
at new Hci (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)
at new NobleBindings (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:25:15)
at Object. (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:546:18)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at module.exports (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/resolve-bindings.js:13:12)
at Object. (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/index.js:2:49)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at BluetoothManager.start (/home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js:16:20)
at Object.start (/home/udo/gladys/server/services/bluetooth/index.js:16:22)
at Service.start (/home/udo/gladys/server/lib/service/service.start.js:33:21) {
errno: 97,
code: ‘EAFNOSUPPORT’,
syscall: ‘socket’
}
}
2021-05-05T15:13:20+0200 index.js:16 (process.) Error: EAFNOSUPPORT, Address family not supported by protocol
at new Hci (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)
at new NobleBindings (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:25:15)
at Object. (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:546:18)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at module.exports (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/resolve-bindings.js:13:12)
at Object. (/home/udo/gladys/server/services/bluetooth/node_modules/@abandonware/noble/index.js:2:49)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at BluetoothManager.start (/home/udo/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js:16:20)
at Object.start (/home/udo/gladys/server/services/bluetooth/index.js:16:22)
at Service.start (/home/udo/gladys/server/lib/service/service.start.js:33:21) {
errno: 97,
code: ‘EAFNOSUPPORT’,
syscall: ‘socket’
}

Pas bien grave selon moi…

Et ensuite j’ai :

2021-05-05T15:29:32+0200 zwave.connect.js:11 (ZwaveManager.connect) Zwave : Connecting to USB = /dev/ttyS2
2021-05-05T15:29:47+0200 zwave.getNodeNeighbors.js:14 (ZwaveManager.getNodeNeighbors) Zwave : Getting node neighbors…
2021-05-05T15:29:52+0200 zwave.driverFailed.js:10 (ZwaveManager.driverFailed) Zwave : Failed to start driver.
2021-05-05T15:29:52+0200 gateway.forwardWebsockets.js:14 (Gateway.forwardWebsockets) Gateway: not connected. Prevent forwarding event.
2021-05-05T15:29:58+0200 zwave.connect.js:11 (ZwaveManager.connect) Zwave : Connecting to USB = /dev/ttyS2
2021-05-05T15:30:18+0200 zwave.driverFailed.js:10 (ZwaveManager.driverFailed) Zwave : Failed to start driver.
2021-05-05T15:30:18+0200 gateway.forwardWebsockets.js:14 (Gateway.forwardWebsockets) Gateway: not connected. Prevent forwarding event.

Et après je suis littéralement bloqué :

Et si j’arrête le serveur (WSL) et que je le relance … rien ne change sauf que je suis plus connecter.

et voilà ce que me dit le serveur :

2021-05-05T15:32:32+0200 index.js:20 (process.) uncaughtException catched: uncaughtException
2021-05-05T15:32:32+0200 index.js:21 (process.) Error: listen EADDRINUSE: address already in use :::1443
at Server.setupListenHandle [as _listen2] (net.js:1318:16)
at listenInCluster (net.js:1366:12)
at Server.listen (net.js:1452:7)
at start (/home/udo/gladys/server/api/index.js:62:10)
at /home/udo/gladys/server/index.js:53:17 {
code: ‘EADDRINUSE’,
errno: -98,
syscall: ‘listen’,
address: ‘::’,
port: 1443
}
2021-05-05T15:32:52+0200 zwave.driverFailed.js:10 (ZwaveManager.driverFailed) Zwave : Failed to start driver.
2021-05-05T15:32:52+0200 gateway.forwardWebsockets.js:14 (Gateway.forwardWebsockets) Gateway: not connected. Prevent forwarding event.

Désolé ‘^^ j’aimerais ne pas avoir de problème et ne pas vous prendre votre temps ^^’

PS : s’il y a un autre moyen que de faire un wsl --unregister <DistributionName> à chaque fois que ça bug et éviter de devoir faire à nouveau toute l’Installation je serais ravis d’avoir l’astuce

Les 2 commandes font exactement la même chose

Pour le bluetooth oui c’est normal

Concernant l’accès au port série, ça semble impossible sous wsl2 , a priori ça l’est sous wsl1

Donc si tu ne compte pas utiliser docker pour créer une image gladys tu peux switcher sur wsl1

wsl --set-version Ubuntu 1

Il suffit de kill le process comme sur Windows => Ctrl+C

Merci beaucoup !

J’aimerais bien utiliser Docker je pense que c’est plus simple mais dans la doc j’ai pas trouvé comment faire donc je fait au plus simple pour le moment ^^

Mais tu veux tester Gladys ou déveloper ?

Pas certains … dans mon cas quand je fais un npm start du server … la actuellement c’est bugé j’ai fais Ctrl+C et jai rédmarré avec npm start c’est toujours bugé

Tester j’ai déjà testé avec un Raspberry 400 la clé Z-Wave est tous de suite reconnu pas de soucis, j’avais ajouté mon fibaro motion sensor avec z-Wave mais j’avais que 1 info sur toutes les datas qui était remonté donc comme je suis développeur et que Z-Wave n’est pas très à la mode est pas plus maintenu pour le moment sur gladys je voulais voir si je trouvais un moyen de debug cela avec openzwave actuel et voir si je peux créer un nouveau service avec zwavejs à la limite

Ok je vois, du coup le gros soucis ça va être de chopper le port com sur linux en wsl. Donc comme je le disais plus haut c’est pas possible sous WSL2

Si tu tu switch sous wsl1 tu aura quelque chose sur /dev/ttyS#

Tu dois être concerné pas ce bug => Bug avec nodemon en développement local

1 Like

Possible : J’ai CTRL+C serveur et front, j’ai kills des PID actifs sur les ports 1443 et 1444 et nom start server et front mais toujours même problème. Je vais wsl -unregister unbuntu et relancer une installation Gladys en utilisant WSL1 vue que je sais pas comment faire pour utiliser docker en dev :sweat_smile: j’ai pourtant installer Gladys docker sur Raspberry Pi 400 sans soucis mais avec la Doc c’est easy :face_with_hand_over_mouth: j’ai l’impression d’être un newbie :man_facepalming:t2:

C’est pour ça que l’on déploi sous docker, on contrôle l’environnement d’exécution.

En mode dev ça dépend de beaucoup chose, mais je vais t’avouer que sur Windows c’est pas le plus simple.

Maintenant que je réfléchis c’est vrai que j’ai toujours dev avec node.js sur mon Mac et j’avais jamais été confrontée à cela auparavant :man_facepalming:t2:

Sinon j’ai jamais dev avec/sur docker du coup s’il y a une âme charitable qui fait un tuto ou une doc … je suis preneur :pray::pray:

On dev pas sur docker :wink:

On distribue gladys sous la forme d’une image docker multi architecture.

Docker n’est pas du tout obligatoire pour dev.

Imaginons que tu fasse une pull Request qui implemente zwavejs, il sera plus simple de fournir une image docker avec tes modifications afin que ceux qui le peuvent test.
Cette partie n’est pas documenté, il faut que je fasse une page de documentation.

Une bonne piste pour comprendre le fonctionnement c’est de voir comment fonctionne le workflow sur github

N’hésite pas si tu as des questions, c’est pas forcément simple d’écrire une doc simple et clair donc tes questions peuvent permettre d’étoffer celle ci.

Merci beaucoup,

Non je pense pas qu’une Doc soit nécessaire en fait :sweat_smile:

J’avoue que j’ai jamais utilisé docker avant Gladys (donc avant les deux dernières semaines) et j’ai toujours dev avec Git sur des projets multi développeurs (mais bon dans la même entreprise).

Je vais tester ce que tu m’as dit en espérant que cela fonctionne.

Bon a priori … en V1 WSL … c’est pire, j’ai rien dans la liste des ports USB Z-Wave

EDIT :

J’ai été dans les services zwave faire un coup de npm install et ma clé est reconnu !

Merci !!