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.