Philips Hue Bridge required with Signum IOT module

I’ve been looking at your suggestion. I know my way around Linux and setting up an Odroid does not seem difficult.
However:

  • Will I still require a Philips Hue Bridge? I believe not?

Right now I need to connect a USB cable from my Velbus system to my laptop if I want to make configuration changes.
Would this mean I’d have to connect the USB cable from my velbus system to my Odroid and add the integration from the Home Assistant Application?

Hi

Unfortunately, yes.

You need to link your Hue devices to a Hue hub, then get openHAB / HomeAssistant to interact with that hub.

I’ve done this for a customer and it works quite well.

DietPi is a really easy solution.

It’s menu offers HomeAssistant and openHAB.

It’s just the Velbus-tcp gateway that will be an extra, but my Snap install script makes light work of that

Yes, exactly so

But… when you want to make any changes to your Velbus hardware, you only need to choose the TCP/IP connection option in Velbuslink, to the Velbus-tcp gateway app

Happy to help if needed.

@MDAR

I’ve been looking further into this case. I bought myself an Intel NUC, i5 processor, 8GB of RAM, 256 SSD drive. Should get the work done + a lot more :slight_smile:
Once I got it i’ll setup Ubuntu server, Home Assistant and Velserv. Still gotta buy my lamps, as I have another question I need to be certain about:

Will I be able to control my lamps with my switches? I have 2 VMB6PBN and all the others are VMB8PBU siwthces

Don’t feel like having to manipulate my lamps with my mobile phone the entire time

1 Like

That’s certainly a solid option.

If you put DietPi on it, the HomeAssistant setup will be a lot easier, as it’s an option in the DietPi-Software menu.

As for VelServ, as much as it’s amazing.

The Velbus-tcp official Snap package is a breeze to install.

Yes, absolutely, with or without led feedback if you wish.

I know how it’s done in openHAB and NodeRed, I assume it’s a simple process in HomeAssistant.

Logic would be something like

Velbus button press = PRESSED

Check state of Hue item
Send the appropriate command.

You can do funky stuff with long_press or release, depends on how much work you want to do.

Separate rule for led feedback.

State change in Hue
Send appropriate feedback command.
On / off / slow flash etc etc

@MDAR : thanks for your reply, will have a look at DietPi as well.

1 Like

Hi @MDAR
OK, Home assistant is installed. It discovered the integration after I plugged in the USB cable to my dietpie installation and installed velserv.
However, I seem to have a hard time to determine to which USB port it is connected:
hereby the commands I tried and the possible error i’m having:

root@DietPi:/dev# dmesg | grep -i usb
...
[    1.804967] usb 1-4: new full-speed USB device number 2 using xhci_hcd
[    1.959506] usb 1-4: New USB device found, idVendor=10cf, idProduct=0b1b, bcdDevice= 0.01
[    1.959521] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.959528] usb 1-4: Product: VMB1USB Velbus USB interface
[    1.959533] usb 1-4: Manufacturer: Velleman Projects
...

However I see this strange error:

[  323.407793] audit: type=1400 audit(1718304597.042:34): apparmor="DENIED" operation="open" profile="snap.velbus-tcp.velbus-tcp" name="/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/bNumInterfaces" pid=2745 comm="python3" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[  328.410378] audit: type=1400 audit(1718304602.042:35): apparmor="DENIED" operation="open" profile="snap.velbus-tcp.velbus-tcp" name="/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/bNumInterfaces" pid=2745 comm="python3" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[  333.412924] audit: type=1400 audit(1718304607.046:36): apparmor="DENIED" operation="open" profile="snap.velbus-tcp.velbus-tcp" name="/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/bNumInterfaces" pid=2745 comm="python3" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[  338.415470] audit: type=1400 audit(1718304612.050:37): apparmor="DENIED" operation="open" profile="snap.velbus-tcp.velbus-tcp" name="/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/bNumInterfaces" pid=2745 comm="python3" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[  343.418046] audit: type=1400 audit(1718304617.050:38): apparmor="DENIED" operation="open" profile="snap.velbus-tcp.velbus-tcp" name="/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/bNumInterfaces" pid=2745 comm="python3" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[  348.420558] audit: type=1400 audit(1718304622.054:39): apparmor="DENIED" operation="open" profile="snap.velbus-tcp.velbus-tcp" name="/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/bNumInterfaces" pid=2745 comm="python3" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[  353.423099] audit: type=1400 audit(1718304627.054:40): apparmor="DENIED" operation="open" profile="snap.velbus-tcp.velbus-tcp" name="/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/bNumInterfaces" pid=2745 comm="python3" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

When trying to determine to which USB port my velbus is connected. I try:

root@DietPi:/dev# ls -l /dev/disk/by-id/

and

ls -l /dev/ttyUSB*

However nothing shows up. I conclude that the device is not connected and it is probably related to the error shown above

Seems to me like the connection is not going the way it should.
Do you have any pointers?

PS: some more troubleshooting while I’m at it:

root@DietPi:/dev# snap get velbus-tcp -d
{
        "logging": {
                "output": "stream",
                "type": "info"
        },
        "ntp": {
                "enabled": false,
                "synctime": ""
        },
        "serial": {
                "autodiscover": true,
                "port": "/dev/ttyAMA0"
        },
        "tcp": {
                "auth": false,
                "authkey": "8c640ebf-0e55-40be-8738-eaf68406775b",
                "cert": "/var/snap/velbus-tcp/common/certificate.pem",
                "host": "0.0.0.0",
                "pk": "/var/snap/velbus-tcp/common/privkey.pem",
                "port": 27015,
                "relay": true,
                "ssl": true
        }
}

But when trying to connect to that port /dev/ttyAMA0 in Home automation I get an error: Invalid flow specified.
That port also does not show up in my /dev folder. I do have a /dev/ttyACM0 however.

Gonna give it a break here and continue tomorrow.

Hi

Good progress so far then.

The text you’ve shown, suggests you’re actually running the SNAP package velbus-tcp

I’ll Assume Velbus-tcp from here on.

First things first, you say it discovered the integration as soon as you plugged in the USB, which suggests that HomeAssistant has reserved the port.

I would suggest.

Stopping HomeAssistant until you get Velbus-tcp running and can confirm by using Velbuslink.

So let’s look at why Velbus-tcp is having an issue.

Your greb command has identified the VMB1USB profile, which is excellent.

Can you try

snap get velbus-tcp -d

To identify which port that is trying to connect to?

One question, did you install the Velbus snap package by yourself or did you use my script?

If you used my script, I think that stopping HomeAssistant and restarting the snap package will magically get it working.

snap restart velbus-tcp

Then try connecting Velbuslink to port 27015 of your machine, with TLS/SSL enabled and the password of 8c640ebf-0e55-40be-8738-eaf68406775b (easy to change)

If you installed it yourself, there may be a little more work to be done.

Reading your post again

I can see you did manually installed it

Please disable Auto discovery

And change the port to

/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00

Both can be done by using

snap set velbus-tcp serial.port=/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00 serial.autodiscover=false

If everything works as expected, it’s just a matter of changing how HomeAssistant accesses your Velbus system.

The hub needs to be changed to

tls:8c640ebf-0e55-40be-8738-eaf68406775b@ machine’s IP :27015

After that…

FYI

The command should be

ls -l /dev/serial/by-id/

Easy mistake

Oops, missed that part about your script. Bet it is this and I can install it with wget?
https://www.mdar.co.uk/dl/velbus/velbus-tcp.sh
Will look if I can fix it manually. If not I can still remove snap and velbus-tcp and run the script, correct?

No need to run the whole script, but yes, that would fix the issues.

You could just run each snap command here…

snap connect velbus-tcp:raw-usb :raw-usb

# via VMBRSUSB

snap set velbus-tcp serial.port=/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00 serial.autodiscover=false ntp.enabled=true tcp.host=0.0.0.0,127.0.0.1 tcp.port=27015,6000 tcp.relay=true,true tcp.ssl=true,false tcp.auth=true,false tcp.authkey=velbus,

However, the password after this will simply be
velbus

You can use this command to set whatever password you like

snap set velbus-tcp tcp.authkey=MyPassCode,

FYI, the comma at the end is very important

Because my script sets up two ports, the command requires TWO keys, but the second port isn’t asking for a key

If you only want one open secure port

Try this command


snap set velbus-tcp serial.port=/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00 serial.autodiscover=false ntp.enabled=true tcp.host=0.0.0.0 tcp.port=27015 tcp.relay=true tcp.ssl=true tcp.auth=true tcp.authkey=YourChoiceOfPassCode

And change the HomeAssistant hub to

tls:YourChoiceOfPassCode@ machine’s IP :27015

Hi Mdar,
I ended up with this. Will try your commands tomorrow, and I think I’ll get it fixed with a clear head:
https://ibb.co/y6qhJnb

1 Like

Okay

Very close

Does Velbuslink work?

I’m no expert on HomeAssistant, but my guess would be that you need to add a hub that connects to the TCP port of velbus-tcp ??

How it asks for the details is a mystery to me

In text form, it’s as above ^^^^ always used to work for people (as per the guide in the HA docs)

  • TLS :heavy_check_mark:
  • Passcode : whatever you set it as
  • IP : I assume HA is in a container, so it needs to be the local IP address of your box
  • Port : 27015

I’m around during the day, going out to run an event after 17:00 CET / 16:00 GMT

Velbuslink works when I connect it to my dietpi. It loads the modules!
Might have an idea what else could be going on. Will check tomorrow and get back to you

1 Like

I ended up running your script. These are the settings:

oot@DietPi:~# snap get velbus-tcp -d
{
        "logging": {
                "output": "stream",
                "type": "info"
        },
        "ntp": {
                "enabled": true,
                "synctime": ""
        },
        "serial": {
                "autodiscover": false,
                "port": "/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00"
        },
        "tcp": {
                "auth": "true,false",
                "authkey": "velbus,",
                "cert": "/var/snap/velbus-tcp/common/certificate.pem",
                "host": "0.0.0.0,127.0.0.1",
                "pk": "/var/snap/velbus-tcp/common/privkey.pem",
                "port": "27015,6000",
                "relay": "true,true",
                "ssl": "true,false"
        }
}

So I’m trying to connect to velbus using the following setting as connection string to add the hub:
tls:velbus@127.0.0.1:27015
After which it starts loading, but ends up with “no devices or entities”. So I enalbed logging and uploaded the log file right here. There seem to be some error in there which might explain the behaviour.
You can start checking from:

2024-06-14 09:01:49.774 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open inside the event loop by integration ‘velbus’ at homeassistant/components/velbus/config_flow.py, line 37: controller = velbusaio.controller.Velbus(prt) (offender: /mnt/dietpi_userdata/homeassistant/deps/lib/python3.12/site-packages/velbusaio/handler.py, line 40: with open(), please create a bug report at Issues · home-assistant/core · GitHub

home-assistant_2024-06-14T07-02-27.722Z.log (689.4 KB)

It might be my fault for being slightly inaccurate

Try this instead

tls://velbus@ dietPi LAN IP :27015

Or

tls:velbus@ dietPi LAN IP :27015

Add the Double back slash & Machine LAN address.

As I say, I’m no expert with HomeAssistant.

  • The HomeAssistant container won’t work with the 127.0.0.1 / loopback address

  • If you were using the loopback address with another program, the port is 6000 without TLS & passcode


Others have got to the same point as you.

Does this help ??

Hi @MDAR : I got it worked out:
127.0.0.1:6000 as connection string did the trick. It now loaded the modules in HA.
Thanks for your help!

1 Like

That’s interesting.

I thought HA was in a container that prevented it accessing the loopback port.

Useful to know, thanks.

I’m glad you’ve got it working.

1 Like

Actually, I think the Philips Hue Bridge might not be required. I’m using the Sonoff zigbee USB dongle and in theory it is possible to connect all your Philips Hue lamps to that dongle. I haven’t tested that though.

Think I’ll get myself a Hue Bridge though. I will now finish up on the velbus integrations and document my configuration.
Afther that I’ll start with the Philips Hue integration.
I think the Velbus integration will have been the hardest. Time will tell! :slight_smile:

1 Like

Would you care to share your documentation? I’m particularly interest in the coupling of the glass panel modules (VMBGP4) with the Philips Hue lamps as I currently do this through Home Assistant automations which is not ideal IMO.