[RELEASE] Driver for LED strips connected to a Raspberry Pi

Maybe others have done this too, but here's my setup:

I have a few Raspberry Pi's that I use to control accent lighting around the house. As a new Hubitat owner, I want to use it to control these lights. So I wrote an app that run on the Pi and a driver for the Hubitat. I also want guests to have an easy way to control the lights, so I wired up buttons and rotary encoders to the Pi's as well.

It supports REST, MQTT, or both, and includes the features you'd expect of an LED module:

  • on/off/toggle
  • fade to target brightness over given duration
  • increment/decrement level (used by rotary knobs)
    and some uncommon features:
  • downto - if the light's already on, dim it down. If it's off (or lower than the target), leave it alone.
  • upto - like downto, but brightening

Lighting types:

  • single-color on/off
  • single-color dimmable
  • RGB dimmable -- requires a PCA9685 connected to the Pi via I2C

The code's available on github. If you find gaps in the docs or missing features, please open issues or submit PR's.

Since Raspberry Pi's are currently unavailable, I've not been able to add as many as I want. If that changes, I may find more uses and add more features.