Velux integration into Home Bridge / Home Assistant, HomeKit, and Siri - without a Velux Hub

We’ve fitted five Velux skylights and blinds to an indoor pool ceiling that we had to line and plaster (thanks to ridiculous bushfire rules) as using Laserlight or translucent roofing is no longer allowed. If the roof of the pool area caught on fire, it’d fall into a pool of water and go out after all! Still, that’s the NSW Government for you…

But how to control these along with the rest of the house? Well, we instead control the Velux remote with a Zigbee relay that is paired to our whole-of-house automation system.


So it turns out that Velux blinds are pretty atrocious technically in terms of how they operate. They’re one-way communication only, use a weirdo custom RF frequency (868 MHz), and don’t release any documentation on the protocol. If these blinds were networking equipment, they’re effectively stuck back in the token-ring networking days. As a result, no integration hub (e.g. like Bond Bridge) supports these blinds.

But wait! Velux have a solution. For the low price of $600 (on sale), you can buy yet another gateway that needs to talk to the internet, comes with a whole bunch of things that you don’t need (e.g. humidity sensor), and undoubtedly is atrociously bug-ridden software that they’ll stop updating for your phone in the next couple of years anyway (assuming of course, that it is evenly remote similar to all of the other unique snowflake ‘hubs’ that these companies make).

Anyway, this isn’t good enough in 2024. How do we fix it? With a soldering iron.

Equipment List

In addition to a working home automation configuration (see the various other pages on this site), you’ll need:

  1. Spare Velux Remote (KLI300 / KLI310 / KLI311 / KLI312).
    You need to be comfortable soldering to surface-mount pads on this.
  2. Zigbee 2-channel relay. (E.g. This one on AliExpress for ~$20AUD delivered)
  3. Power Adapter - Either MicroUSB or 7-32V

Getting it working

So the hard work was done by /u/DaFunkShun on reddit. The back of the module should be wired like so:

If you’re keen and your relay requires a lessor voltage (e.g. a Shelly), you can also wire the battery terminals to the relay. In my case, I’ve chosen to power this externally.

After you’ve done this, put your 2xAAA batteries in and make sure that the buttons still work manually. Following this, you ought to be able to pair your relay switch to Zigbee2MQTT or ZHA, have it show up like any other Zigbee device, and trigger the buttons.

Note on Momentary-ness of the remote switches

Please note that the velux switches are momentary. You will need to either use a relay that supports this (the one linked above has a momentary mode), or you’ll need to program your switch to turn off automatically after being switched on for 0.5 seconds (this length seems to work well).

Note on Velux dodgy remote reception

Because the remote is one-way, we often find that one or two of the five blinds we have installed in the same area don’t open. This occurs whether we’re using the franken-remote or a normal one. I work around this by programming my Home Assistant automation to trigger the relay twice with a 2 second delay in between. Given how slow the blinds are, this doesn’t really matter very much.