Issue with integration to home assistant using USB

You could try this udev rule that I’ve been playing with.

Pop this rule into your /etc/udev/rules.d/ folder

Give it a name like V80-Velbus.rules

SUBSYSTEM=="tty", ACTION=="add|change", ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="0b1b", SYMLINK+="ttyVelbus-VMBRSUSB"

SUBSYSTEM=="tty", ACTION=="add|change", ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="0b1c", SYMLINK+="ttyVelbus-VMBUSB-20"

SUBSYSTEM=="tty", ACTION=="add|change", ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="0516", SYMLINK+="ttyVelbus-VMBSIG"

What should happen is that you get an extra symLink in your /dev folder

Depending on which USB device

/dev/ttyVelbus-VMBRSUSB

/dev/ttyVelbus-VMBUSB-20

/dev/ttyVelbus-VMBSIG

If the rule works on your system, this command should work

./velserv -d /dev/ttyVelbus-VMBRSUSB -p 6000

#######

Are you planning on using the velserv.service file to start it at boot?

1 Like

I’ve just discovered this command

udevadm

Try using it like this to locate your Velbus USB device

udevadm info /dev/ttyACM*

udevadm info /dev/ttyUSB*

What you’re looking for is something with a VENDOR ID of 10cf

Probably a MODEL ID of 0b1b

This command will show you all the references to anything with Velbus or Vellemann in it, but what it won’t show is the bit of information about which tty symLink it’s pointed to.

udevadm info /dev/tty* | grep Vel

But at least you’ll know your OS can see the Velbus interface

If I run udevadm info /dev/ttyACM0 I get this

Look for the DEVLINKS & DEVNAME lines

P: /devices/platform/soc/ffe09000.usb/ff500000.usb/xhci-hcd.1.auto/usb1/1-1/1-1.3/1-1.3:1.0/tty/ttyACM0
M: ttyACM0
R: 0
U: tty
D: c 166:0
N: ttyACM0
L: 0
S: serial/by-path/platform-xhci-hcd.1.auto-usb-0:1.3:1.0                                                    S: ttyVelbus-VMBRSUSB
S: serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00
E: DEVPATH=/devices/platform/soc/ffe09000.usb/ff500000.usb/xhci-hcd.1.auto/usb1/1-1/1-1.3/1-1.3:1.0/tty/ttyACM0
E: DEVNAME=/dev/ttyACM0
E: MAJOR=166
E: MINOR=0
E: SUBSYSTEM=tty
E: USEC_INITIALIZED=6723644
E: ID_BUS=usb
E: ID_MODEL=VMB1USB_Velbus_USB_interface
E: ID_MODEL_ENC=VMB1USB\x20Velbus\x20USB\x20interface
E: ID_MODEL_ID=0b1b
E: ID_SERIAL=Velleman_Projects_VMB1USB_Velbus_USB_interface
E: ID_VENDOR=Velleman_Projects
E: ID_VENDOR_ENC=Velleman\x20Projects
E: ID_VENDOR_ID=10cf
E: ID_REVISION=0001
E: ID_TYPE=generic
E: ID_USB_MODEL=VMB1USB_Velbus_USB_interface
E: ID_USB_MODEL_ENC=VMB1USB\x20Velbus\x20USB\x20interface
E: ID_USB_MODEL_ID=0b1b
E: ID_USB_SERIAL=Velleman_Projects_VMB1USB_Velbus_USB_interface
E: ID_USB_VENDOR=Velleman_Projects
E: ID_USB_VENDOR_ENC=Velleman\x20Projects
E: ID_USB_VENDOR_ID=10cf
E: ID_USB_REVISION=0001
E: ID_USB_TYPE=generic
E: ID_USB_INTERFACES=:020201:0a0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=cdc_acm
E: ID_USB_CLASS_FROM_DATABASE=Communications
E: ID_VENDOR_FROM_DATABASE=Velleman Components, Inc.
E: ID_PATH=platform-xhci-hcd.1.auto-usb-0:1.3:1.0
E: ID_PATH_TAG=platform-xhci-hcd_1_auto-usb-0_1_3_1_0
E: ID_MM_CANDIDATE=1
E: DEVLINKS=/dev/serial/by-path/platform-xhci-hcd.1.auto-usb-0:1.3:1.0 /dev/ttyVelbus-VMBRSUSB /dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00
E: TAGS=:systemd:snap_velbus-tcp_velbus-tcp:
E: CURRENT_TAGS=:systemd:snap_velbus-tcp_velbus-tcp:






(END)


image

Excellent.

Use that in your VelServ command line.

Or just use the VelServ.service file in the zip, that’s set to use that path :wink:

I’m curious why /dev/ttyACM0 didn’t work for you.

It suggests that “something else” has grabbed the device before VelServ.

Is it still being using in HomeAssistant?

Or insufficient permissions. ttyACM0 is owned by root:audio with permissions u+rw,g+rw. If they’re trying to run velserv as user other than root or somebody in the audio group (the fact that ttyACM0 gets put with audio group at all indicates some wonky udev rules) they’d see this sort of error.

Can always ask nicely with some sudo for a try.

1 Like

A bit late here, but maybe check out this home assistant addon: GitHub - cereal2nd/hassio-velbusd: HASSIO addon to create a velbus proxy (the guy who created it, is also on this forum by the way :slight_smile: )

I use it in my setup, for connecting over tcp. Works great here.

On the missing modules, I suggest to delete the integration. Then add it again before going to bed. Then go to sleep, and have a look in the morning :grinning:

2 Likes

How are you getting on?