Zwave Stick non détecté dans Gladys 4

Bonjour à tous,
J’ai installé Gladys 4, à partir de l’image.
Ensuite , j’ai configurer la “Maison” et une “pièce”.
Enfin, dans Integration, Z-Wave, settings …,
Je n’arrive pas à “sélectionner” ma clef USB Zwave.
–> Je me suis connecter en ssh au Raspberry.

lsusb me donne bien une ligne
Bus 001 Device 012: ID … Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Avec dmesg -w , il y a bien un port /dev/ttyACM0

Mon stick Z-Wave n’est pas compatible, ou il manque une configuration ?

Merci d"avance

Olivier

Tu peux tenter de redémarrer gladys ?

docker restart gladys

Merci à toi VonOx, j’ai exécuter la commande, mais celà ne change rien.

Bonjour à tous.
J’ai le même pb. La clé est bien détectée avec lsusb mais rien dans le menu déroulant du menu settings.
Si qqn a une idée…
Merci!

PYB

Hello @Olivier_68 !

Dans Gladys 4 on utilise le module NPM serialport pour lister les ports USB.

Au vu de tes retours, il semblerait que serialport ne détecte pas ta clé. Il va falloir enquêter si le problème vient de ta configuration / ou juste de serialport qui peut-être ne voit pas tout.

J’ai créé une issue GitHub pour référencer le problème :

Petite question: est-ce que tu pourrais te connecter à Gladys en SSH, puis rentrer dans le container Docker Gladys en faisant:

docker exec -it gladys sh

Puis dans le container faire:

 ls /dev/tty*

Et me dire si tu vois le stick USB ?

Bonsoir pierre-gilles,
je me suis donc tout d’abord connecter en SSH au pi,
ensuite j’ai lancer la première commande avec docker —> le prompt de mon SSH change en /src/server #
ensuite je lance dans ce “docker” la seconde commande , pour vérifier l’existance du ttyACM0 , il est bien dans la liste. , je retourne dans Gladys, et je vérifie, mon stick USB Zwave ne s’y trouve toujours pas.
Je lance alors un
dmesg
, je retire le stick usb, et je le remet en place, un second dmesg, le stick est bien reconnu sous ttyACM0., mais tojours rien dans Gladys

Merci à vous

Olivier

Super @Olivier_68, merci pour ton retour! :slight_smile:

Il s’agit donc d’un soucis avec serialport! Après enquête et lecture du code de la lib “serialport”:

Apparemment la librairie serialport utilise la commande udevadm info -e pour aller chercher la liste des périphériques USB.

En cherchant plus loin, apparemment il faut donner encore plus de volumes pour utiliser cette commande sous Docker:

On tient notre bug !

Il nous manque le volume /run/udev:/run/udev:ro dans le docker run de Gladys :slight_smile:

Il faudrait que tu stop le container Gladys + le remove + le relance en rajoutant -v /run/udev:/run/udev:ro dedans.

Etant donné que c’est la commande docker run (et pas dans le code de Gladys), il va falloir que je mette à jour l’image Raspbian si c’est bien ça…

1 Like

Bonsoir,
Là je vais avoir besoin d’un peu d’aide, je n’ai jamais travailler avec docker.
c’est quoi exactement le + le remove ?

… j’ai fait un shutdown -r, ensuite j’ai essayé la commande de hier soir , avec le …

docker exec -it gladys sh -v /run/udev:/run/udev:ro
—> message d’erreur.

docker exec -it gladys -v /run/udev:/run/udev:ro sh
—> message d’erreur

Olivier

Bonsoir @Olivier_68,

Ce que @pierre-gilles voulait dire c’est :

  • stopper le container

    docker stop gladys

  • remove le container

    docker rm gladys

  • relancer le container
    Relance la commande ‘docker run…’ que tu as déjà utilisée mais dans laquelle tu rajoutes le -v /run/udev:/run/udev:ro

Ça devrait fonctionner.

1 Like

Hello,

Je viens de tester le stop/rm puis le run avec -v /run/udev:/run/udev:ro et cela ne change rien je ne vois toujours pas le dongle dans la liste.

Mmm ok, on va peut être changer de méthode alors et juste faire un ls dans Gladys :slight_smile: Merci du retour @aldo !

Ce soir, avec l’aide de collègues j’ai aussi testé en exécutant

docker stop gladys
docker rm gladys
docker run -d --restart=always --privileged --network=host --name gladys -e NODE_ENV=production -e SERVER_PORT=80 -e TZ=Europe/Paris -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/gladysassistant:/var/lib/gladysassistant -v /dev:/dev -v /run/udev:/run/udev:ro gladysassistant/gladys:4.0.0-beta-arm

----> Ensuite Dans la page Web de Gladys , il y a une erreur 404 au GET , voir capture
,

Olivier

Bonsoir,

J’ai aussi capturer les log de dmesg après avoir enlevé et remis le stick USB Zwave

[21663.962313] usb 1-1.4: USB disconnect, device number 6
[21667.328180] usb 1-1.4: new full-speed USB device number 7 using dwc_otg
[21667.428185] usb 1-1.4: device descriptor read/64, error -32
[21667.648182] usb 1-1.4: device descriptor read/64, error -32
[21667.868179] usb 1-1.4: new full-speed USB device number 8 using dwc_otg
[21667.968205] usb 1-1.4: device descriptor read/64, error -32
[21668.188189] usb 1-1.4: device descriptor read/64, error -32
[21668.308425] usb 1-1-port4: attempt power cycle
[21668.968196] usb 1-1.4: new full-speed USB device number 9 using dwc_otg
[21669.001848] usb 1-1.4: New USB device found, idVendor=0658, idProduct=0200, bcdDevice= 0.00
[21669.001865] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[21669.002994] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device

Retente avec ça pour test
docker stop gladys
docker rm gladys
docker pull gladysassistant/gladys:4.0.0-beta-arm
docker run -d --restart=always
–device=/dev/ttyACM0 --network=host --name gladys -e NODE_ENV=production -e SERVER_PORT=80 -e TZ=Europe/Paris -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/gladysassistant:/var/lib/gladysassistant gladysassistant/gladys:4.0.0-beta-arm

C’est un dongle USB que tu as on est d’accord ?

Bonsoir VonOx,
J’ai bien une Clef USB Zwave.
J’ai recopier toutes les commandes docker, une à une.
Avec la dernière j’ai un message d’erreur
docker: invalid reference format: repository name must be lowercase.

Olivier

OK c’est de ma faute, dans la dernière commande c’est --device (2 tirets et pas 1)

J’apporte ma pierre à l’édifice : j’ai la même config, probablement le même stick z-wave (zwave.me) et le même problème…

J’ai effectué toutes les commandes, dont la dernière avec la petite correction du --device :
docker run -d --restart=always --device=/dev/ttyACM0 --network=host --name gladys -e NODE_ENV=production -e SERVER_PORT=80 -e TZ=Europe/Paris -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/gladysassistant:/var/lib/gladysassistant gladysassistant/gladys:4.0.0-beta-arm

Cela n’a pas résolu le problème, toujours rien n’apparait dans la liste des USB ports de Gladys :neutral_face:

Bon on va trouver :thinking:

Est ce que vous pouvez me retourner le résultat de la commande lsusb ?

@Olivier_68 c’est déjà fait

Alors le lsusb me renvoie :

Bus 001 Device 019: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

La commande
docker exec -it gladys sh
/src/server # ls /dev/tty*

Me renvoie :
/dev/tty /dev/ttyACM0

Auparavant (avant la suppression / pull du container), cette commande me renvoyait :

/dev/tty /dev/tty17 /dev/tty26 /dev/tty35 /dev/tty44 /dev/tty53 /dev/tty62 /dev/tty0 /dev/tty18 /dev/tty27 /dev/tty36 /dev/tty45 /dev/tty54 /dev/tty63 /dev/tty1 /dev/tty19 /dev/tty28 /dev/tty37 /dev/tty46 /dev/tty55 /dev/tty7 /dev/tty10 /dev/tty2 /dev/tty29 /dev/tty38 /dev/tty47 /dev/tty56 /dev/tty8 /dev/tty11 /dev/tty20 /dev/tty3 /dev/tty39 /dev/tty48 /dev/tty57 /dev/tty9 /dev/tty12 /dev/tty21 /dev/tty30 /dev/tty4 /dev/tty49 /dev/tty58 /dev/ttyACM0 /dev/tty13 /dev/tty22 /dev/tty31 /dev/tty40 /dev/tty5 /dev/tty59 /dev/ttyprintk /dev/tty14 /dev/tty23 /dev/tty32 /dev/tty41 /dev/tty50 /dev/tty6 /dev/tty15 /dev/tty24 /dev/tty33 /dev/tty42 /dev/tty51 /dev/tty60 /dev/tty16 /dev/tty25 /dev/tty34 /dev/tty43 /dev/tty52 /dev/tty61

Voila pour les infos :wink:

Et pour compléter ma réponse, j’ai refait la même manip avec l’ajout de

-v /run/udev:/run/udev:ro

Sans succès :confused: