Comment fixer les ports USB

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 »