Ik zit wat in de knoei met udev rules. Ik heb 2 P1 poort naar USB converters en 1 modbus naar USB converters aan mijn RPI4 hangen. Elke boot hebben de converters allemaal een random device name van /dev/ttyUSB0../dev/ttyUSB2 wat erg vervelend is. Dat probeer ik nu op te lossen door een udev rule aan te maken alsvolgt:
Als ik dan telegraf herstart en ipv naar /dev/ttyUSB2 laat verwijzen maar naar /dev/modbus dan krijg ik volgende in de log file:
Ah ja /dev/modbus verwijst naar het relatieve pad bus/usb/001/003 .
Dus nu is mijn vraag, hoe laat ik /dev/ttyUSB2 "verdwijnen" of hoe zorg ik ervoor dat die niet meer wordt aangemaakt maar dat gewoon /dev/modbus wordt aangemaakt zonder dat dat een symlink is?
EDIT:
En als ik Home Assistant de digitale meter wil laten uitlezen op /dev/p1-homeassistant werkt dat niet. Op /dev/ttyUSB1 werkt het wel... .
code:
1
2
3
| SUBSYSTEM=="usb", ATTRS{bcdDevice}=="0263", SYMLINK+="modbus", OWNER="telegraf", GROUP="root" SUBSYSTEM=="usb", ATTRS{serial}=="AB6BZJJJ", SYMLINK+="p1-homeassistant", OWNER="telegraf", GROUP="root" SUBSYSTEM=="usb", ATTRS{serial}=="AB6C1MBS", SYMLINK+="p1-python2influxdb", OWNER="telegraf", GROUP="root" |
code:
1
2
3
4
5
| root@stats:~# ls -lah /dev/modbus lrwxrwxrwx 1 root root 15 Aug 25 15:45 /dev/modbus -> bus/usb/001/003 root@stats:~# ls -lah /dev/ttyUSB2 crw-rw---- 1 telegraf telegraf 188, 2 Aug 25 15:59 /dev/ttyUSB2 root@stats:~# |
Als ik dan telegraf herstart en ipv naar /dev/ttyUSB2 laat verwijzen maar naar /dev/modbus dan krijg ik volgende in de log file:
code:
1
2
3
4
5
6
7
8
9
10
11
| root@stats:~# tail -f /var/log/telegraf/telegraf 2022-08-25T16:00:36+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:38+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:40+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:42+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:44+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:46+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:48+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:50+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:52+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device 2022-08-25T16:00:54+02:00 E! [inputs.modbus] Error in plugin: serial: could not set setting: inappropriate ioctl for device |
Ah ja /dev/modbus verwijst naar het relatieve pad bus/usb/001/003 .
Dus nu is mijn vraag, hoe laat ik /dev/ttyUSB2 "verdwijnen" of hoe zorg ik ervoor dat die niet meer wordt aangemaakt maar dat gewoon /dev/modbus wordt aangemaakt zonder dat dat een symlink is?
EDIT:
En als ik Home Assistant de digitale meter wil laten uitlezen op /dev/p1-homeassistant werkt dat niet. Op /dev/ttyUSB1 werkt het wel... .