[BETA] LIFX Enhanced Drivers

Announcing the first "beta" of LIFX Enhanced Drivers -- built using @bcopeland's LIFX Color Legacy driver as a reference, the intent is to provide additional functionality not exposed by the built-in LIFX drivers. These drivers utilize the built-in LIFX Classes and LIFX Integration App to build and send packets to the bulbs.

The first driver targets LIFX Strips / Multizone devices. Notable differences/enhancements from the built-in driver:

  • Persists unique colors in zones when running setLevel for the Strip
  • Aggregates updates from child devices when applying a scene to avoid "popcorning" the zones (with the tradeoff of a slight -- but configurable -- delay)

I intend to eventually develop enhanced drivers for additional bulb types as well.

If you encounter issues, or have suggestions for modified/enhanced behavior -- please enable debug/verbose logging to capture as much data as possible. PRs are welcome.

8 Likes

reserved for future updates

Howdy, do your drivers support the A60 Nightvision 1200 lumen bulb?

I’ve got one coming today for my Halloween front Porch setup and I can’t find and specific support listed for it.

Sorry, no. I actually ran into some bugs with the MZ driver and flipped back to the built-in for now (better overall WAF) - still a side project I'd like to come back to, but on the back burner for now.

1 Like

Cheers, I’ve asked the question in the official thread too.

Hey,
I am looking to add "effects" to my LED strips, for example trigger the "Move Effect" for 30 seconds on the stairs every time there is a motion detected at the bottom.

Are these effects possible with the enhanced driver?

The framework is in the driver, but not tested. Would need to uncomment line 38:

capability "LightEffects"

to expose the command, then invoke setEffect with param: 1 to start the Move effect, param: 0 to stop. Current implementation does not specify the direction of motion, and has hardcoded the speed. Unfortunately hasn't gotten much love since my initial stab... it was unreliable in turning on/off (sometimes needed two sends), and I switched back to the built-in drivers for my own strips. Hoping to come back to this when life settles down :slight_smile:

1 Like

Finally came around to try and implement this.

When I try to I get the following error java.lang.UnsupportedOperationException: Cannot use rightShift() on this number type: java.math.BigInteger with value: 18374686479671623680 on line 381 (method setEffect)

And Line 381 is the following
cmds.add(new hubitat.lifx.commands.SetMultiZoneEffect(instanceId: 4824828, type: effectType, speed: 5, duration: duration))

Posting because I found this - but if its not obvious please don't go intro trouble trying to debug it

Maybe time to look at 'effects' again :laughing:

4 Likes

Everyone is talking about this, it's all the buzz

I had a dream about setEffect last night.

Also, I was a blue horse with bat wings, but that's beside the point.