Internal LIFX driver (LIFX Color) transition time in milliseconds

I am glad the internal Hubitat LIFX driver for the Color 1000 and Color Plus bulbs (LIFX Color driver) uses the LAN protocol instead of the archaic and slow HTTP API. Would it be possible to allow the TRANSITION TIME to be defined in MILLISECONDS rather than SECONDS? The trickle down from that would be to carry that same ability to WebCoRE. I know that milliseconds, or at least fractional seconds, are possible using the HTTP API, so I presume the LAN protocol also supports this. This would give a bit more refined control over effects and transitions. Thanks!

1 Like

This should already work (and appears to in my testing). The standard Hubitat "Set Level" command takes an (optional) transition time in seconds, per the capability definition, so that isn't going to change, but most drivers accept decimals for this, not just whole numbers.— including this one.

So, if you use something like 0.5 for the transition time (meaning 500 ms), that should do what you want. Whether or not this works from webCoRE, as you're asking, I don't know. But there's no reason it shouldn't unless it has some issues with non-integer transition times in general that I don't remember hearing about.

1 Like

Yes, the Hubitat command appears to accept decimal transition values and passes them to the LIFX driver. This is similar to how the LIFX HTTP API accepts and uses decimal transition times. webCoRE, however only accepts integer values. I guess this is where the change would need to happen ?

Haven't tested that myself, but sounds like it!

Yes, it certainly does, hence the reason for my original post. :slight_smile: Where might I make such a change request?

If it is a request for webCoRE I would suggest contacting @nh.schottfam

2 Likes

From the title and content, it seems more like your post was an assumption that the driver did not support this and webCoRE was only a...

But, the driver seems fine, and you've got the de facto maintainer for the app tagged above, so something will likely be figured out there soon. :slight_smile:

In the meantime, I had time to test this with webCoRE, and it does indeed seem to accept only integer values for transition time (this is a webCoRE design choice, nothing to do with any particular driver). It seems you may be able to work around it for now by using "Expression" instead of "Value," as that will let you type "0.5" or whatever (no quotes), which will of course simply evaluate to 0.5.

webCoRE normally looks at the capabilities definitions, and if the parameter/attribute is listed as NUMBER then it enforces Integer. There is a DECIMAL defined for preferences, but doesn't seem to be universally defined for commands and attributes.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.