Comment fixer les ports USB

Bonjour,

Ayant déjà rencontré des problèmes lié au port usb entre zwave et zigbee qui passe de /dev/ttyACM0 à /dev/ttyACM1 (ou inversement), je pense à fixer les ports usb afin d’éviter toute modification lors du redémarrage.

j’ai bien vu un post à ce sujet qui indique comment fixer les ports usb

Ce post datant de 2020 je voudrais savoir s’il n’y avait pas un moyen plus simple sous jeedom pour gérer cela?

car quand je tente de faire juste lsusb -v | grep 'idVendor|idProduct|iProduct|iSerial
rien n’apparait alors que si je fais juste lsusb je vois bien mes 3 clés dans la liste

Bus 004 Device 002: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 1cf1:0030 Dresden Elektronik
Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

edit: j’ai trouvé un peu mieux via:

merci à vous par avance

Salut
En effet mais ce quie est conseillé est:

Dams

bah si comme mon dernier print screen le démontre

mais je posais la question pour éviter de faire des modifs à la mano dans des fichiers de conf

une fois que les ports utilisé sont lu, il faut les fixer, sur certaines config il peuvent bouger au redémarrage et donc bloqué le démarrage des demon

Dams

ok je vais donc regarder votre post
mais a priori il me faut bien toucher à ,/etc/udev/rules.d/99-usb-devs.rules via ssh car je ne vois rien dans jeedom qui permette cela sauf erreur

1 « J'aime »

c’est bien cela

Dams

Bonjour.

C’est normal qu’il n’y a rien dans Jeedom pour cela, car cette partie concerne le système d’exploitation et non la couche application Jeedom.

Salut
Es tu sur docker?

salut,

non vm sur nas

Oui, c’est toujours d’actu car les plugins ne permettent toujours pas de rentrer à la main directement le chemin /dev/serial/by-id/xxx. Ce serait pourtant simple à faire !

On est obligé de choisir dans une liste ttyUSB0, ttyUSB1, etc.
Donc, il faut créer un alias fixe qui apparaissent dans cette liste.

Ouais, mais le fait de juste pouvoir renseigner /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DExxxxxx0-if00 au lieu de /dev/ttyUBS-ConBee2 qu’on doit configurer dans /etc/udev/rules.d/99-usb-devs.rules réglerait les problèmes pour les ports USB de type ‹ série ›

Une alternative est de ne pas passer par les plugins Jeedom et d’externaliser tous les trucs USB par des programmes de type truc2mqtt sous Docker qui permettent de renseigner le chemin de la clé dans la commande à lancer.

Pour zigbee2mqtt

docker run \
   --name zigbee2mqtt \
   --restart=unless-stopped \
   --device=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DExxxxxxx-if00:/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DExxxxxxx-if00 \
   -p 8080:8080 \
   -v ~/zigbee2mqtt/data:/app/data \
   -v /run/udev:/run/udev:ro \
   -e TZ=Europe/Paris \
   koenkk/zigbee2mqtt

Pour la teleinfo2mqtt, pareil

docker run -d --name teleinfo2mqtt \
  --restart=unless-stopped \
  --device=/dev/serial/by-id/usb-Cartelectronic_Interface_USB_1_TIC_DA1XXXXX-if00-port0:/dev/serial/by-id/usb-Cartelectronic_Interface_USB_1_TIC_DA1XXXXX-if00-port0 \
  -e SERIAL=/dev/serial/by-id/usb-Cartelectronic_Interface_USB_1_TIC_DA1XXXXX-if00-port0 \
  -e MQTT_URL=mqtt://jeedom:1883 \
  -e MQTT_BASE_TOPIC=teleinfo2mqtt \
  -e HASS_DISCOVERY=false \
  fmartinou/teleinfo-mqtt

Pour zwavejsmqtt, il faut garder le 2ème champ de device /dev/zwave afin que le soft s’y retrouve

docker run -it -p 8091:8091 -p 3000:3000 --device=/dev/serial/by-id/usb-0658_0200-if00:/dev/zwave \
  -e TZ=Europe/Paris \
  -v ~/zwavejs2mqtt/store:/usr/src/app/store \
  --restart=unless-stopped \
  --name zwave-js-ui \
  zwavejs/zwavejs2mqtt:latest

Pour sms2mqtt, idem, il faut conserver aussi le 2ème champ /dev/mobile

docker run \
    -d \
    --name sms2mqtt \
    --restart=unless-stopped \
    --device="/dev/serial/by-id/usb-HUAWEI_HUAWEI_Mobile-if00-port0":/dev/mobile \
    -e HOST="jeedom" \
    -e PREFIX="sms2mqtt" \
    domochip/sms2mqtt

Avec Docker, ces 4 clés de type ‹ série › peuvent vivrent ensemble sans devoir configurer le fichier /etc/udev/rules.d/99-usb-devs.rules sur la machine hôte.

2 « J'aime »

Oui mais là c’est déjà pour des utilisateurs plus avancé…

Dams

je confirme ce que dis Dams, pas encore de mon niveau à ce stade :slight_smile:
mais pour en sortir moins con déja on parle bien du plugin docker?
image

non celui là

Dams

j’ai bien fait de poser la question déjà :slight_smile:
vu qu’il est gratuit je vais l’installer pour voir comment cela se présente.

mais j’hésite à me lancer pour y créer ce qu’indique domatizer déjà

et ca commence bien l’installation:

mais se termine bien:
image

Bonjour,

je te tente de me lancer dans l’aventure mais aimerais bien éviter tout risque :slight_smile:

est ce bien comme cela qu’il faudrait procéder et par ailleurs dois je vérifier les informations contenus dedans par rapport à mes propres paramètres?

de plus et dans un autre registre je vois qu’il est possible installer vaultwarden ou wireguard sur docker
existe t’il un tuto pour savoir comment procéder?

merci par avance

Oui, on déplace la complexité, mais on n’a pas à modifier le fichier /etc/udev/rules.d/99-usb-devs.rules :smile:

Si ton installe fonctionne bien, c’est plus simple de rester avec les plugins Jeedom et de modifier le fichier /etc/udev/rules.d/99-usb-devs.rules :wink:

Aucune idée, je n’utilise pas le plugin Docker. Je ne pourrait pas t’aider.

Ah oui, il faut toujours vérifier :+1: car je ne suis pas certain que ça fonctionne avec le plugin.

Dans la commande que j’ai donné plus haut, zigbee2mqtt met ses fichiers dans le répertoire /home/<utilisateur>/zigbee2mqtt/data/. Avec le plugin, il faut peut-être mettre ce dossier ailleurs…

Ok donc je comprends qu’il est donc préférable de passer par l’édition du fichier en mode ssh.

En espérant qu’en version 4.4 cela soit plus simple (sans vouloir mettre de pression sur qui que ce soit toutefois :slight_smile: )

Pour le fichier /etc/udev/rules.d/99-usb-serial.rules oui.

Après, je trouve dommage que toute personne qui débute en domotique sera à un moment ou un autre confronté à ce problème dès qu’il y a plusieurs clé USB sur la même machine. Celle-ci devra passer par cette étape. Et je parle même pas du temps qu’il faudra avant au débutant pour découvrir et comprendre d’où vient son souci.

Malheureusement, il a du succès ce post !

Je le redis ici

Il suffirait juste de pouvoir écrire dans la conf des plugins /dev/serial/by-id/usb-ma_cle_est_unique-if00 à la place de /dev/ttyUSB-JAiDuFixeMonPortPourMaCleUSB en me galérant avec le fichier /etc/udev/rules.d/99-usb-serial.rules

Bonsoir.

Vue dans le changelog du plugin Z-waveJS :

Ajout de tous les tty dans la liste des ports (cela sera inutile avec le nouveau core qui permettra de choisir un port directement par l’id)

Bonsoir Fabrice

Merci pour cette précision.
Donc il vaut mieux ne rien toucher sur le fichier énoncé plus haut ? Et attendre la nouvelle monture?