DSM7 + Docker - Erreurs sur plugins "Protocole Domotique"

Bonjour,
Suite à l’installation de jeedom sur Synology DSM7 en docker (cf. Sujet dédié), je rencontre des soucis avec l’installation/démarrage de démon sur 3 plugins :

  • Z-Wave JS : Erreur à l’installation
    1e ligne : Log « plugin » / 2e ligne : log « zwavejs »
0008|[2024-06-13 11:38:00] ERROR  : file_exists(): Argument #1 ($filename) must be of type string, array given
0008|[2024-06-13 11:38:00] ERROR  : Erreur sur la fonction deamon_stop du plugin : file_exists(): Argument #1 ($filename) must be of type string, array given
  • Deconz : Erreur au démarrage du démon
    Installation : OK / Dépendances : OK / installation locale : OK / clef API : Undefined
0000|Traceback (most recent call last):
0001|File "/var/www/html/plugins/deconz/resources/deconzd/deconzd.py", line 32, in <module>
0002|from websocket import create_connection
0003|ModuleNotFoundError: No module named 'websocket'
0004|[2024-06-13 11:09:36] ERROR  : Impossible de lancer le démon deconz, vérifiez le port
  • RFXcom : Erreur au démarrage du démon
    Installation : OK / Dépendances : OK / Port RFXcom : Auto
0000|[2024-06-13 11:15:37] ERROR  : Erreur sur la fonction deamon_start du plugin : file_exists(): Argument #1 ($filename) must be of type string, array given

Si vous avez des pistes de résolution, je suis preneur !
Merci d’avance.

Bonjour,

Page santé? je suppose que vous avez installé debian12 bookworm => réinstallez debian11 bullseye

Merci pour la réponse.
Je suis effectivement en Bookworm, comme suggéré par Loic dans mon post précédent.
J’avais pas mal de soucis pour installer le package bullseye, qui n’existe pas sans mariadb, d’où l’installation du package http-bookworm.

Le problème viendrait de là ?

Je vais reessayer l’install bullseye.
Il s’agit bien du package : jeedom:latest ?
Merci !

Bonsoir @Loic

L’image http-bullseye n’existe pas ?

Bonjour
Ben si c’est l’image de base

On parle bien dune installation par service

L’image de base installe ou contient mariadb ?

Y’a les deux de possible c’est au choix

On le choisi grace à l’argument dans le dockerfile ?

ARG DATABASE=1
ENV DATABASE=${DATABASE}

Merci pour vos réponses (et désolé du délai de retour, pas mal pris en ce moment).

J’ai installé la version Bullseye avec mariadb inclut (jeedom:latest).
Je n’arrive pas à faire fonctionner les plugins avec dongle USB (Deconz, RFXCOM et Zwave). Je pense que j’ai un problème lié aux drivers. Je creuse plus et je n’hésiterai pas à revenir demander de l’aide sur ce fil lorsque j’aurai les idées un peu plus claires sur l’origine possible du problème.

Bonjour,
Mon problème semble bien provenir de la gestion de mes périphériques USB (qui sont derrière un hub usb 2.0 alimenté) :

  • Clef Zigbee Conbee II
  • RFXCom
  • Clef Zwave Z-Stick Gen5

J’ai suivi jusqu’au bout le tuto d’installation des drivers USB suggéré dans différents posts sur le forum (Synology: How to Add USB Support on DSM 7 – Marius Hosting).
J’ai également suivi l’excellent tuto d’installation Deconz proposé par @Didier3L (y compris la commande chmod 777).

La clef Conbee II n’est pas vu par Deconz (l’app Phoscon se lance, mais sans gateway trouvée)
image

La commande dmesg | grep tty renvoi :

root@NAS_MaisonLily:~# dmesg | grep tty
[    0.000000] Command line: root=/dev/md0 intel_iommu=igfx_off netif_num=2 HddEnableDynamicPower=1 syno_hw_version=DS423+ vender_format_version=2 synoboot2 sn=2360VKRZ8VGTZ macs=9009d04859d5,9009d04859d6 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=DS423+ vender_format_version=2 synoboot2 sn=2360VKRZ8VGTZ macs=9009d04859d5,9009d04859d6 syno_ttyS0=pciserial,0x0:0x18.0x2,115200 syno_ttyS1=pciserial,0x0:0x18.0x0,115200
[    5.532647] dw-apb-uart.1: ttyS1 at MMIO 0xa1515000 (irq = 54, base_baud = 115200) is a 16550A
[    5.553606] console [ttyS0] disabled
[    5.557464] dw-apb-uart.2: ttyS0 at MMIO 0xa1517000 (irq = 6, base_baud = 115200) is a 16550A
[    5.567172] console [ttyS0] enabled
[   26.298075] synobios open /dev/ttyS1 success
[   37.904624] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   37.917782] systemd[1]: Starting system-serial\x2dgetty.slice.
[   39.830632] synobios open /dev/ttyS1 success
[   65.270153] usb 1-1.4.4: FTDI USB Serial Device converter now attached to ttyUSB0
[   65.321492] cdc_acm 1-1.4.3:1.0: ttyACM0: USB ACM device
[   65.327743] cdc_acm 1-1.4.2:1.0: ttyACM1: USB ACM device
[  831.538289] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[  837.751766] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[  841.692398] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[  942.625814] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[  942.930783] cdc_acm 1-1.4.3:1.0: ttyACM1: USB ACM device
[  943.148293] usb 1-1.4.4: FTDI USB Serial Device converter now attached to ttyUSB0
[  946.559319] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[  998.316392] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 1200.075087] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[ 1200.380985] cdc_acm 1-1.4.3:1.0: ttyACM1: USB ACM device
[ 1200.596770] usb 1-1.4.4: FTDI USB Serial Device converter now attached to ttyUSB0
[ 1204.050858] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device

La commande lsusb -cui renvoi :

root@NAS_MaisonLily:~# lsusb -cui
|__usb1          1d6b:0002:0404 09  2.00  480MBit/s 0mA 1IF  (Linux 4.4.302+ xhci-hcd xHCI Host Controller 0000:00:15.0) hub
  |__1-1         1a40:0101:0111 09  2.00  480MBit/s 100mA 1IF  ( ffffffd6ffffffa3ffffffebffffffcb) hub
    |__1-1.4     1a40:0101:0111 09  2.00  480MBit/s 100mA 1IF  ( ffffffd6ffffffa3ffffffebffffffc0) hub
      |__1-1.4.2 1cf1:0030:0100 02  2.01   12MBit/s 100mA 2IFs (dresden elektronik ingenieurtechnik GmbH ConBee II DE2213612)
    1-1.4.2:1.0   (IF) 02:02:01 1EP  () cdc_acm tty/ttyACM0
    1-1.4.2:1.1   (IF) 0a:00:00 2EPs () cdc_acm
      |__1-1.4.3 0658:0200:0000 02  2.00   12MBit/s 100mA 2IFs ( ffffffd1ffffffb2ffffffdbffffffad)
    1-1.4.3:1.0   (IF) 02:02:01 1EP  () cdc_acm tty/ttyACM1
    1-1.4.3:1.1   (IF) 0a:00:00 2EPs () cdc_acm
      |__1-1.4.4 0403:6015:1000 00  2.00   12MBit/s 90mA 1IF  (RFXCOM RFXtrx433XL DO437618)
    1-1.4.4:1.0   (IF) ff:ff:ff 2EPs (Vendor Specific) ftdi_sio ttyUSB0
  |__1-2         051d:0002:0106 00  1.10  1.5MBit/s 2mA 1IF  (APC Back-UPS ES 550G FW:870.O4 .I USB FW:O4  5B1919T43242  )
  1-2:1.0         (IF) 03:00:00 1EP  () usbfs
  |__1-4         f400:f400:0100 00  2.00  480MBit/s 200mA 1IF  (Synology DiskStation 65003608B3FFE800)
  1-4:1.0         (IF) 08:06:50 2EPs () usb-storage host4 (synoboot)

J’ai testé en supprimant le hub et en branchant directement la clef Conbee II (je n’ai qu’un port USB de dispo sur le NAS) ==> Même résultat
J’ai également redémarré, relancé le script, débranché/rebranché l’USB ==> Même résultat

Je me suis baladé sur les sujets récents (DSM7) du forum, mais rien trouvé de probant…
Auriez-vous une idée de ce que je pourrai tester pour résoudre mon problème ?

Maintenant que Jeedom s’installe, je sens que si j’arrive à résoudre ce nouvel obstacle, je ne suis pas loin d’arriver à faire fonctionner Jeedom sur mon Synology ! :slight_smile:

Bonjour
C’est la merde l’usb sur synology je crois qu’il faut mettre un package tierce pour que le synology ait les port usb puis les remonter sur le docker. Perso j’ai pris une clef zigbee en rj45 comme ça pas de soucis

Bonjour,

Comme le dit Loic, Synology nous les brise avec leurs restrictions !
Synology a retiré la gestion des périphériques USB

Donc il faut installer manuellement les drivers (ko)

La solution la plus simple est d’installer le paquet de synocommunity

Il faut au préalable autoriser les paquet tiers dans la configuration du Syno.

Peux tu me communiquer le modéle de ton syno ?

Bonjour Loic,
tu as pris un truc de ce genre ? SMLIGHT - Adaptateur USB Ethernet POE Zigbee 3.0 CC2652P (Zigbee2mqtt et ZHA)

Oui c’est ca que j’ai, ca marche bien aucun soucis et plus besoin de gerer l’usb sur le syno

1 « J'aime »

Le problème c’est quand tu as comme moi du Zigbee, du Zwave, du Rf433 et la cle de myhome Legrand
Bref 4 clé USB

A ben la oui c’est pour ça que petit à petit j’ai tout migré pour avoir que du zigbee

1 « J'aime »

Merci pour vos réponses.
Je confirme, compliqué le passage sur Synology (venant d’une install sur raspberry beaucoup, beaucoup plus simple pour un néophyte comme moi) :slight_smile: .

J’ai un DS423+ sur DSM 7.2.1-69057 Update 5.
Comme toi, j’ai Zigbee, Zwave et Rf433 (et je pense que @Loic a bien raison, il va falloir que je pense à rationaliser, à minima choisir entre Zigbee et Zwave).

D’ailleurs trés intéressant le principe de la clef en rj45 pour éloigner le contrôleur des perturbations que peuvent entrainer le NAS et l’onduleur (et la box et le routeur et le switch qui sont tous dans la même armoire) !

Pour en revenir à mon problème, c’est bien ce paquet synocommunity que j’ai installé, puis script suivant :

/sbin/modprobe usbserial
/sbin/modprobe ftdi_sio
/sbin/modprobe cdc-acm
chmod 777 /dev/ttyUSB0 
chmod 777 /dev/ttyACM0
chmod 777 /dev/ttyACM1

Le NAS voit bien les devices USB :

Est-ce que cela pourrait être lié aux utilisateurs du NAS et leurs droits (c’était la cause racine des mes problèmes d’installation de Jeedom) ? Ou la gestion de l’USB en Docker n’a rien à voir avec ça ?

Tu as bien transmis les ports usb au docker ?

Tu peux poster ton docker-compose pour vérifier le mappage des ports ?


devices:
           - "/dev/ttyACM1:/dev/ttyACM1"

Essaye également de lancer ces 3 commandes en ssh sur le syno


insmod /lib/modules/usbserial.ko
insmod /lib/modules/cp210x.ko
insmod /lib/modules/ch341.ko

@Loic : J’ai l’impression que mon problème d’USB se situe même avant la transmission au Docker puisque la commande SSH dmesg | grep tty me renvoi ce message avec ces lignes étranges concernant un FTDI connected / disconnected (j’ai d’ailleurs ce message même lorsque seul l’onduleur est connecté en USB et que les différentes clefs sont déconnectées) :

[    0.000000] Kernel command line: root=/dev/md0 intel_iommu=igfx_off netif_num=2 HddEnableDynamicPower=1 syno_hw_version=DS423+ vender_format_version=2 synoboot2 sn=2360VKRZ8VGTZ macs=9009d04859d5,9009d04859d6 syno_ttyS0=pciserial,0x0:0x18.0x2,115200 syno_ttyS1=pciserial,0x0:0x18.0x0,115200
[    5.532647] dw-apb-uart.1: ttyS1 at MMIO 0xa1515000 (irq = 54, base_baud = 115200) is a 16550A
[    5.553606] console [ttyS0] disabled
[    5.557464] dw-apb-uart.2: ttyS0 at MMIO 0xa1517000 (irq = 6, base_baud = 115200) is a 16550A
[    5.567172] console [ttyS0] enabled
[   26.298075] synobios open /dev/ttyS1 success
[   37.904624] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   37.917782] systemd[1]: Starting system-serial\x2dgetty.slice.
[   39.830632] synobios open /dev/ttyS1 success
[   65.270153] usb 1-1.4.4: FTDI USB Serial Device converter now attached to ttyUSB0
[   65.321492] cdc_acm 1-1.4.3:1.0: ttyACM0: USB ACM device
[   65.327743] cdc_acm 1-1.4.2:1.0: ttyACM1: USB ACM device
[  831.538289] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[  837.751766] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[  841.692398] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[  942.625814] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[  942.930783] cdc_acm 1-1.4.3:1.0: ttyACM1: USB ACM device
[  943.148293] usb 1-1.4.4: FTDI USB Serial Device converter now attached to ttyUSB0
[  946.559319] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[  998.316392] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 1200.075087] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[ 1200.380985] cdc_acm 1-1.4.3:1.0: ttyACM1: USB ACM device
[ 1200.596770] usb 1-1.4.4: FTDI USB Serial Device converter now attached to ttyUSB0
[ 1204.050858] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[ 3813.522456] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[84632.318355] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[84632.519539] cdc_acm 1-1.4.3:1.0: ttyACM1: USB ACM device
[84632.732989] usb 1-1.4.4: FTDI USB Serial Device converter now attached to ttyUSB0
[84636.131093] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[88236.115744] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[88240.209660] cdc_acm 1-1.4.2:1.0: ttyACM0: USB ACM device
[89222.921103] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0

@Didier3L : j’avais déjà effectué ces commandes, j’ai donc un retour insmod: ERROR: could not insert module /lib/modules/ch341.ko: File exists lorsque je les utilisent. Mais pas mieux dans la détection des usb avec dmesg | grep tty, j’ai toujours le message ci-dessus…

Mon docker-compose DECONZ est le suivant :

version: "2"

networks:
     default:
        name: mymacvlan
        driver: macvlan
        external: true
services:
     deconz:
         image: deconzcommunity/deconz:latest
         container_name: deconz-community
         privileged: false
         restart: always
#         tty: true
         networks:
             default:
                 ipv4_address: 192.168.0.245
         volumes:
           - /volume2/docker_nvme/deconz-community:/opt/deCONZ
         devices:
           - "/dev/ttyACM0:/dev/ttyACM0"
         environment:
           - PUID=1030
           - PGID=65536
           - DECONZ_WEB_PORT=80
           - DECONZ_WS_PORT=443
           - DEBUG_INFO=1
           - DEBUG_APS=0
           - DEBUG_ZCL=0
           - DEBUG_ZDP=0
           - DEBUG_OTAU=0
           - DECONZ_VNC_MODE=1
           - DECONZ_VNC_PORT=5900
           - DECONZ_NOVNC_PORT=6080
           - DECONZ_DEVICE=/dev/ttyACM0
           - DECONZ_VNC_PASSWORD=motdepasse
           - DECONZ_UID=0
           - DECONZ_GID=0
           - TZ=Europe/Paris

Je n’ai pas encore réinstallé Jeedom vu que les USB ne sont pas détectés, mais voici le docker-compose que j’utilise et qui fonctionne (hormis la partie USB bien évidemment :slight_smile: )

networks:
     default:
        name: mymacvlan
        driver: macvlan
        external: true
services :
 jeedom:
    container_name: jeedom
    image: jeedom/jeedom:latest
    volumes:
      - /volume2/docker_nvme/jeedom/html:/var/www/html
      - /volume2/docker_nvme/jeedom/db:/var/www/mysql
    tmpfs:
      - /tmp/jeedom
    devices:
             - /dev/ttyUSB0:/dev/ttyUSB0 #RFXCOM
             - /dev/ttyACM0:/dev/ttyACM0 #ConbeeII
             - /dev/ttyACM0:/dev/ttyACM1 #Zwave
             - /dev/net/tun
    ports:
      - 40080:80
    restart: always
    cap_add:
      - SYS_PTRACE
      - SYS_ADMIN
      - NET_ADMIN
    healthcheck:
      test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:80"]
      interval: 30s
      timeout: 10s
      retries: 5
    logging:
      options:
        max-size: "10m"
        max-file: "1"
volumes:
  db:
  http: