sde1000 / python-dali

Library for controlling DALI lighting systems
Other
150 stars 71 forks source link

Add Lunatone LUBA RS232 driver #105

Closed sl-wallace closed 2 years ago

sl-wallace commented 2 years ago

Lunatone make a series of DALI interface devices which communicate with a host over RS232 serial, using a protocol defined by Lunatone called 'LUBA'.

This pull request adds support into python-dali for LUBA interface devices, as briefly discussed in #102. The driver API largely follows the existing hid classes of drivers, including drop-in compatible support for sequences.

sl-wallace commented 2 years ago

I still need to add some better documentation for how to use the driver interface, I'll do that before I mark as "ready for review". I realise too that it's unlikely any other users of this library will have access to this specific Lunatone device (I'm using this one, although there are others), so testing by others will be hard to do. You'll have to take my word for it that it works! :grinning:

sl-wallace commented 2 years ago

@sde1000 I've tidied things up now, and I think this is pretty much good to merge now. I expect I'll add some more robustness to it in the future, e.g. have it attempt to automatically reconnect after a failure, but for now it works well enough based on the testing I've done. Hopefully it might be useful for others too!