Cle USB ZWave non reconnue sous Jeedom Docker (Synology)

Tags: #<Tag:0x00007fcbb19f1198> #<Tag:0x00007fcbb19f1080>

Bonjour à tous,

J’ai l’habitude de résoudre mes problèmes grace à vos posts sur ce forum, je commencerai donc par vous remercier tous d’alimenter ce forum.

Aujourd’hui, je souhaite partager une expérience personnelle sur une erreur résolue que je n’ai pas trouvée sur ce forum.

Recemment, j’ai décidé de passer du raspberry pi à Docker avec MacVlan.
Après avoir suivi les posts sur la question, j’ai reussi à installer la V.4.1.20 sur mon Synology DS720+.
Tout fonctionnait parfaitement, sauf une seule chose : Ma clé USB Zwave.

J’avais dans le plugin ce popup :

Impossible de contacter le serveur Z-wave

Je pensais que la clé aurait du etre connecte a un HUB auto-alimente; mais mauvaise route de ma part, cela n’a pas été résolu.

Dans plusieurs post, j’ai compris qu’il était important d’identifier si la cle USB etait bien visible pas le NAS Synology.
J’ai donc lancé ces deux commandes :

Benjamin@Synology_2020:~$ lsusb
Bus 001 Device 002: ID 14cd:8601 Super Top
Bus 001 Device 003: ID f400:f400
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 14cd:8601 Super Top
**Bus 001 Device 005: ID 0658:0200 Sigma Designs, Inc.**
Benjamin@Synology_2020:~$ dmesg |grep tty
[    0.000000] Command line: root=/dev/md0 intel_iommu=igfx_off netif_num=2 HddEnableDynamicPower=1 syno_hw_version=DS720+ vender_format_version=2 synoboot2 sn=2040QWRJBCCZE macs=001132c966ae,001132c966af syno_ttyS0=pciserial,0x0:0x18.0x2,115200 syno_ttyS1=pciserial,0x0:0x18.0x0,115200
[    0.000000] Kernel command line: root=/dev/md0 intel_iommu=igfx_off netif_num=2 HddEnableDynamicPower=1 syno_hw_version=DS720+ vender_format_version=2 synoboot2 sn=2040QWRJBCCZE macs=001132c966ae,001132c966af syno_ttyS0=pciserial,0x0:0x18.0x2,115200 syno_ttyS1=pciserial,0x0:0x18.0x0,115200
[    4.566824] dw-apb-uart.1: ttyS1 at MMIO 0xa1415000 (irq = 54, base_baud = 115200) is a 16550A
[    4.593942] console [ttyS0] disabled
[    4.597826] dw-apb-uart.2: ttyS0 at MMIO 0xa1417000 (irq = 6, base_baud = 115200) is a 16550A
[    4.607347] console [ttyS0] enabled
[   26.607589] synobios open /dev/ttyS1 success
[   42.718144] synobios open /dev/ttyS1 success
[   43.051247] cdc_acm 1-2.1.1:1.0: ttyACM0: USB ACM device
[  183.039032] cdc_acm 1-2.1.2:1.0: ttyACM0: USB ACM device
[  188.726809] usb 1-2.3: ch341-uart converter now attached to ttyUSB0
**[  534.718655] cdc_acm 1-2.1.2:1.0: *ttyACM0*: USB ACM device**

(Pour l’info, j’ai du desinstaller et reinstaller le packet « USB Serial Driver » dans le NAS car la commande ne donnait rien. )

En la connectant et la deconnectant, j’ai donc pu identifier qu’elle etait connectée sur le port « ttyACM0 » / « Bus 001 Device 005 »

Le synology reconnait donc bien la clé.
J’ai donc pensé que le probleme était donc du coté reconnaissance Jeedom.

Après multiple essai, je remarque finalement que le port USB dans Jeedom ne correspond pas et est sur TTYUSB:
2021-04-04 20_36_40-Clipboard

En reflechissant, j’ai compris que j’avais remplacé une clé UART par une clé ZWAVE et que les ports dans la synology avait changé.
Je repense donc au fichier docker que j’ai créé quelques jours precedemment et decide de le modifier :

version: '2'

networks:
    default:
        external:
             name: mymacvlan

services:
    jeedom:
        container_name: jeedom-macvlan
        image: jeedom/jeedom:latest
        privileged: false
        pid: "host"
        stdin_open: true
        tty: true
        hostname: jeedom
        mac_address: 00:01:02:03:04:05
        networks:
             default:
                ipv4_address: 192.168.0.242
        volumes:
             #- "/volume1/docker/jeedom-macvlan/html/:/var/www/html"
             - "/volume1/docker/jeedom-macvlan/www:/var/www/html"
             - "/volume1/docker/jeedom-macvlan/db:/var/lib/mysql"
        devices:
             
             #Initiallement avec la cle UART
             - "/dev/ttyUSB0:/dev/ttyUSB"
             
             
             **#Rajouté apres debug :**
**             - "/dev/ttyACM0:/dev/ttyACM0"**
             
        restart: unless-stopped
        environment:
             - PUID=1027
             - PGID=101
             - TZ=Europe/Paris
             - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Apres redemarrage, Jeedom ne voit toujours pas la clé USB et ne mappe pas ttyACM0.

Je commancait a sécher et en parlant avec un ami, il me suggere de supprimer le docker et de le recreer.
Il avait contacter Synology pour un probleme similaire.
Il semblerait que Synology utilise une vieille version de docker.
Le fichier yml n’est nécéssaire qu’à la création. Toute modification ultérieure ne sert à rien.

Je fais donc mes backups, supprime le docker et le recree suivant le tutos que j’avais suivi.
BINGO. Je vois enfin le port USB ttyACM0 !
2021-04-04 20_53_27-Clipboard

Le plugins ne fonctionne toujours pas.
Je decide de re-installer le plugin et dependance ZWAVE.
Magie, probleme resolu et ma clé fonctionne enfin.

J’espère que cette expérience partagée pourra être utile à d’autres.
Bonne journée à tou(te)s.
Benjamin.