bonjour,
je suis en train de m installer un environnement de dev pour participer aux tests voir codage de l appli gladys.
j installe cet environnement sur un poste autre que mon serveur gladys,
l environnement est sur pc portable sous w11, 8go de ram et 500 go de hd.
je suis bien sous WSL2 avec ubuntu 20.04 (bien qu ayant Kali et debian aussi), j ai vsc sous w11 et aussi ubuntu20.04,et j ai docker desktop windows, je suis la procedure d install decrite dans la doc .
je l install donc sous ma home directory sous ubuntu.
mais quelques choses me paraissent etrange :
- j ai un repertoire openzwave directement sous ma directory
et le dossier gladys est dans ce dossier openzwave…
install server ok, mais demarrage semble bouclé sur check calendar et sur mon navigateur pour l adresse localhost:1443 j ai un message : “error cannot get”
-en visualisant le log de demarrage du serveur npm start je constate de nombreuse erreur de demarrage service , bluetooth,…
-install frontend : ok , visualisation navigateur ok mais pb sur integration appareil…
pour info ce pc est outil de dev et embarque d autres environnement de dev : delphi, wamp,sqlite,arduino,Rstudio, eclipse,iis,python…
j ai repris l environnement de dev sous wsl: il y avait un pb de conflit , j avais 2 instances de ubuntu20.04 suite à maj Microsoft qui etait en cours.
donc apparemment mon arbo sous wsl emble ok.
einstein@SYNAPSAT7:~/gladys$ ls -l
total 272
-rw-r--r-- 1 einstein einstein 130489 Mar 15 11:45 CHANGELOG.md
-rw-r--r-- 1 einstein einstein 10941 Mar 15 11:45 LICENSE
-rw-r--r-- 1 einstein einstein 8875 Mar 15 11:45 README.md
-rw-r--r-- 1 einstein einstein 254 Mar 15 11:45 SECURITY.md
-rw-r--r-- 1 einstein einstein 145 Mar 15 11:45 codecov.yml
drwxr-xr-x 2 einstein einstein 4096 Mar 15 11:45 docker
drwxr-xr-x 7 einstein einstein 4096 Mar 15 14:39 front
-rw-r--r-- 1 einstein einstein 33549 Mar 15 11:45 insomnia.json
-rw-r--r-- 1 einstein einstein 59242 Mar 15 11:45 package-lock.json
-rw-r--r-- 1 einstein einstein 1722 Mar 15 11:45 package.json
drwxr-xr-x 13 einstein einstein 4096 Mar 15 14:28 server
mais coté demarrage serveur npm start il y a pb :
2022-03-15T14:33:45+0100 <debug> bluetooth.start.js:14 (BluetoothManager.start) Bluetooth: Listening Bluetooth events
2022-03-15T14:33:45+0100 <error> index.js:15 (process.<anonymous>) unhandledRejection catched: Promise {
<rejected> Error: EAFNOSUPPORT, Address family not supported by protocol
at new Hci (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)
at new NobleBindings (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:25:15)
at Object.<anonymous> (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:546:18)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at module.exports (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/resolve-bindings.js:13:12)
at Object.<anonymous> (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/index.js:2:49)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at BluetoothManager.start (/home/einstein/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js:16:20)
at Object.start (/home/einstein/gladys/server/services/bluetooth/index.js:16:22)
at Service.start (/home/einstein/gladys/server/lib/service/service.start.js:33:21) {
errno: 97,
code: 'EAFNOSUPPORT',
syscall: 'socket'
}
}
2022-03-15T14:33:45+0100 <error> index.js:16 (process.<anonymous>) Error: EAFNOSUPPORT, Address family not supported by protocol
at new Hci (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)
at new NobleBindings (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:25:15)
at Object.<anonymous> (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:546:18)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at module.exports (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/lib/resolve-bindings.js:13:12)
at Object.<anonymous> (/home/einstein/gladys/server/services/bluetooth/node_modules/@abandonware/noble/index.js:2:49)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at BluetoothManager.start (/home/einstein/gladys/server/services/bluetooth/lib/commands/bluetooth.start.js:16:20)
at Object.start (/home/einstein/gladys/server/services/bluetooth/index.js:16:22)
at Service.start (/home/einstein/gladys/server/lib/service/service.start.js:33:21) {
errno: 97,
code: 'EAFNOSUPPORT',
syscall: 'socket'
}
2022-03-15T14:33:46+0100 <info> index.js:14 (Object.start) starting GoogleActions service
2022-03-15T14:33:46+0100 <log> index.js:16 (Object.start) Starting Zigbee2mqtt service
2022-03-15T14:33:46+0100 <warn> service.start.js:44 (Service.start) Unable to start service zigbee2mqtt PlatformNotCompatible [Error]: SYSTEM_NOT_RUNNING_DOCKER
at Zigbee2mqttManager.init (/home/einstein/gladys/server/services/zigbee2mqtt/lib/init.js:15:11)
at async Object.start (/home/einstein/gladys/server/services/zigbee2mqtt/index.js:17:5)
at async Service.start (/home/einstein/gladys/server/lib/service/service.start.js:33:7)
2022-03-15T14:33:46+0100 <info> index.js:18 (Object.start) Starting TP-Link service
2022-03-15T14:33:47+0100 <info> index.js:17 (Object.start) Starting eWeLink service
et quand je fait sur le nav : localhost:1443 j ai : “cannot Get /”
pour le client il demarre bien, mais menu integation : ne trouve pas mqtt donc zigbee, mais pas non plus le bluetooth alors que le portable en est doté…
il y a docker desktop sur windows mais ne vois rien par rapport a docker dans wsl/ubuntu est ce normal ?
Ce « problème » me parait normal, je pense pas que le bluetooth soit dispo dans WSL (j’y connais rien en windows, mais j’ai les mêmes messages quand je lance Gladys dans une VM)
A part si tu veux développer sur l’intégration Bluetooth, c’est pas forcément gênant, sauf si ça fait carrément crasher Gladys, mais j’ai pas l’impression que ce soit le cas ici ?
C’est http://localhost:1444/ pour le frontend, pas 1443
le pb est bien sur le serveur : localhost:1443 comme mentionner sur l aide en ligne et j ai “cannot get”
sur le front end en 1444 j ai l ecran classique de gladys mais menu integration bof…
quelle genre de dev ou test peut on faire si on ne peut utiliser ni le bluetooth ni mqtt cela reduit le panel des possibles. faire des dev ou test sur une plateforme incomplète, il risque d y avoir des trous dans la maille,
Tu peux utiliser le MQTT avec un serveur mosquitto custom lancé en local , après pour la partie « lancer un container via Docker », effectivement je pense pas que ça marche sous WSL.
Tu peux développer l’interface Gladys (ça reste le plus gros du travail, bosser sur l’interface), mais effectivement la partie « matériel physique » ça sera pas idéal.
Gladys reste un logiciel destiné à un environnement Linux, donc développer sur un autre environnement sera forcément différent et incomplet. Pour le testing en réel, effectivement pas le choix il faut être sur Linux.
Après d’expérience, 90% de tout développement se fait largement sans avoir un environnement complet ( bosser sur l’interface, les routes d’API, les tests unitaires, etc… ya pas besoin d’avoir le matériel qui marche )
Pour ma part, je développe Gladys principalement sur MacOS, et je fais mes tests en réel sur Linux. Soit dans une machine virtuelle pour tout ce qui est Zigbee2mqtt/MQTT, soit sur un Pi quand il faut tester avec du matos.
j ai plusieurs piste de dev mais 2 en premiers:
1/ j ai un poulailler à 50m de ma maison que je voudrais domotiser, il y a le courant mais pas le wifi…l idée c est gerer eclairage, ouverture trappe du poulailler et camera; j ai des camera wifi et ethernet de recup (sans logiciel) l idée serait d hybrider cpl et wifi ou rf pour gerer cela via gladys.
2/recuperer les données de ma station meteo directement en local sans passer par l api wunderground(dependre d un tier sans garantie mpour mes propres données me gene)
3/ et je ne parle pas de la domotisation de mon jardin (arrosage,…), de ma mini eolienne…
sur l aspect linux je te rejoint, je suis tres open source, mais pour eviter des hebergements “hybride” malgré mes 17 pc (seulement 3 sous w, reste sous des distro<> de linux, je n ai helas qu un laptop w11 de dispo actuellement pour faire des dev informatiques d ou la solution wsl pour avoir malgré tout un linux.
mais si mes preoccupations d informaticien retraité (+ de 40 ans d experience informatique a differents niveaux) vous semblent trop utopiques et perturbantes et pas en adequations avec votre vision de gladys, je peux continuer dans mon coin.
Pierre-gilles,
tu me rassures en disant cela !
mais je reste sceptique, en regardant l onglet integration du client, hormis MQTT,Zigbee et Bluetooth, je ne vois que des noms de marques de modules “propriétaires”, hors vu mon idée de faire en diy avec des capteurs 'récupérés, et des objets à base d’arduino,rf,cpl,… j etais convaincu que le passage mqtt,zigbee,bt et meme “nodered” etait quasi indispensable pour interfacer cela avec Gladys.
d autant que dans ces projets notamment jardin il y a gestion d un drone et d un robot (genre rover martien) et apres il y aura mon labo et mon atelier…
mais dans un premier temps pour me faire la main je vais me pencher sur mes volets qui sont automatisé en rf 433mhz(marque inconnue)
jouables ou pas selon toi ?
et la je dois dire qu en visualisant votre diffusion sur guilhem et ses pann pv cela me donne des idées