Okay
So as PzremoF is suggesting, you need to confirm the path to the Velleman USB interface is correct.
The fact that your openHAB bridge is going online and offline tells me that VelServ is auto-restarting.
Which hints to the fact that the base OS of your board is losing the USB module.
When the USB module is lost to the OS, VelServ closes, but the service file restarts it.
- If not present, Velserv will close and the service file will restart after 5 seconds
- If present, VelServ will run perfectly.
Without knowing the Raspberry Pi at all, but assuming that my script worked well previously.
We should assume that the /opt/velserv/velserv -d /dev/serial/by-id/usb-Velleman_Proje cts_VMB1USB_Velbus_USB_interface-if00
path is correct
The best way to check this is simply by running an ls -l
command
ls -l /dev/serial/by-id/
Which should return something like this
total 0
lrwxrwxrwx 1 root root 13 Jun 30 11:52 usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00 → …/…/ttyACM0
Which tells you that the Velleman USB module is alive and well and also routed to /dev/ttyACM0
(However, I found that for people with multiple USB serial devices, Linux can assign them differently on each startup, hence using the /by-id
method, as that never changes.
(I can see from your screen shot that the service file is looking to start Velserv with the by-id
path.)
What I am thinking is that the Velserv config is fine, as is openHAB
But the problem is that the PI is losing connection to the USB module.
Just something to check (eliminate), can you use a different USB cable between your PI and the Velbus interface?
OR
Can you plug a laptop into the Velbus USB with the same USB cable and see what happens?
Purely for context.
This shows that whatever OS PrezmoF is running doesn’t support the serial/by-id
method and he chose to use the /dev/serial/by-path
method, to define the precise USB device that VelServ should use, rather than risk the OS juggling the USB devices on start up.