LIFX Local Control


I've not had that happening here - your image doesn't seem to have uploaded though.


Sorry. Pic uploaded properly now


What type of device is that?


Although you might get that error if you aren't providing a level to the setLevel command I suppose.


It’s on Colour bulbs. The colour plus don’t have the same error.
It’s a bit strange as every rule has a level value depending on the mode:

I am wondering, when I copied the updated driver codes recently for colour and colour plus, I ended up pasting colour into colour plus container and when I had realised what I did I then put colour plus into the original colour driver container. That should be the cause of the problem should it? I did have to go back over every device and change the driver to the correct selection. Lol and yes, I corrected the problem the long way round :grimacing:


The only difference between those two drivers is the IRLevel support (and I'm not convinced that works!).

Hmm, are those modes the only ones you have set up? I'm wondering what happens if you have an away mode for example, will it try to set the level for it anyway, but with a null?


I do have Away mode and Day but they aren’t used. When mode changes to Away I have rules set to switch all lights off. The time of the error the mode would have been Evening


I'm a bit stumped in that case - the setLevel methods in those two drivers are identical and just call on the parent's setLevel method.

So the Front Door Light is ordinary colour? And the Downstairs Hall Light is plus?


No, my dining room is the colour plus. All 8 other bulbs are normal Colour (lol I only a have colour plus bulb as it was on offer in amazing for half the price of the normal colour bulb)


Can you put a line in the setLevel method of the LIFX Color driver for me?

Something like

logDebug "Level is $level for $device.label"

Put that just before the call to parent.setLevel. Make sure you use double quotes so the substitution will work.

Will be interesting to see what it comes up with when the rule fires.


Well this is weird. No errors anywhere tonight. I added the line of code and triggered lights twice:


Dammit! A Heisenbug!




I knew this would happen. I've bought 3 more LIFX bulbs for no other reason than we've got local control now.

I've somehow ended up with a duplicate in the list of devices in LIFX Master. The duplicate is null and has already been removed from Devices. What's the best way to remove it from the LIFX Master list?


Currently there isn't a way to do that, I'll give it some thought. It won't do any harm. I'm more concerned about how you got a duplicate though.


Good question. I think I may have tried to assign the bulb a static IP before the discovery process had fully completed. It ties up the router while making the change.
Afterwards I found the new device unresponsive, so I deleted it, then went to run the discovery again only to find the previous one was still there.


Another new version after a bit of a hiatus in development.

This is mostly a rework of some of the internals to reduce the size of the code in the individual drivers, plus a small speed up.

The drivers now also have the importUrl link so future updates should be a lot less hassle (after these drivers are installed you can update to the latest version by hitting the import button and then OK a couple of times - still much easier than copy and paste).


Just an observation, but wouldn't it pay to start adding version number to the files and a brief description to the update? It would certainly help to make sure the import update has added a new version to save.
Im just about to test these out :slight_smile:


Yeah, it probably would, I'd want to automate that - there are too many files to manually update each time. The commit messages are in the github history though.

This is 0.9.4-alpha and there's a tag for that in the repository.


I'm having a problem with the https API for Lifx so looking forward to giving this a try via the MakerAPI. Has anyone been using this with Maker? What are the parameters?

I also have a TypeScript implementation as @Bobfrankston/lzlan but haven't exercised it much but feel free to borrow from it as I borrowed from others.

At the moment I am running a Class C network but with 200 IP addresses already in use, I may have to expand it.