It all started because I once couldn't find my remotes anymore and the latest digital remote was out of battery... I had my own home assistant up and running and I jockingly asked it to open the windows. That was enough to push me into trying to connect my voice to the Velux products.
Of course, this project could be better, if we could break the Home IO protocol. But I couldn't... So I decided to go hardware.
The project started with a rough button hack using reed relays. Everything worked fine, until I found out that the relay supposed to maintain the remote on was dying, not openeing anymore. And it was looking messy, unprofessional, lots of wires.
So here is the project now! A self printed pcb, no more wire mess, 2 TI 4066 chips, a mosfet on negative for the remote power.
When one orders the remote to do an action, like opening the windows to say 50%, the action is executed. At the end of it, the remote is powered off and powered on again, to ensure no errors stay on screen. Why? Because a human can read the screen and see that an error is displayed (couldn't open window xxx, raining etc etc), or an OCR (too heavy, useless). If one tries to execute another action while an error is displayed, the button order for that action is wrong as all executions start from home screen. This is why the remote reboot, ensure the remote to be always at home page before executing an action
An early proof of concept video:
An article dedicated to this hack, by Snips, published under my name: