[RELEASE] LIFX Groups

lifx
dth_lighting

(Adam V) #1

version 1.0 [27/01/2016]

Background

This is a release for LIFX Groups, using the final V1 of LIFX’s Cloud API.

Grouping lights together is surprisingly tricky using Smartthings. Although there are some great apps like “Color Coordinator” and @Kriskit’s “Trend Setter” that help you do this, there is still an issue that lighting groups made with these apps turn on the lights sequentially rather than all at the same time.

However, if you are an LIFX user and you use the app to control group lights there are two things it does better that the current Smartthings integration with a grouping Smartapp:

1… There is almost no lag at all between turning on (or any command) and the device responding.

This is because the LIFX app uses the LAN API rather than the Cloud API. Unfortunately at this point ST does not support UDP, which is the protocol that the LAN API uses. So until they change this we are stuck with laggy lights that won’t work if your internet goes down. Maybe @duncan or @Tyler could comment on when or if this will ever be sorted. If this ever does get fixed I’ll make a device handler that uses it.

2… All lights in the group come on simultaneously (and beautifully!).

This is much needed (in my opinion) and this is something that the device handler solves.

Installation

Adding an LIFX group is a 4 stage process:

1… Get an LIFX access token
Todo this go to: https://cloud.lifx.com, sign in and then go to the settings section and select generate new token. save the token somewhere safe.
2… Get the ID of the group that you would like to control
Todo this go to http://api.developer.lifx.com/docs/list-lights#, then copy and paste your access token into the key button at the bottom of the page, type: “all” into the selector box, and then click: “try it” There will be what looks like a load of code that comes back. Look for the part of the code that says: group, and has the name of the goup that you want to control. it will also have a value ( “id”: ) - copy this value as this is your group ID
3… Install the device handler below using the Smartthings IDE, look in the code for the access token field (I have put: “put access token here!” to make it easier to find) and add in your access token.
4… Create a new device in the IDE and assign it this device handler. Call it whatever you want (I’d use the group name), and ensure that under the “Device Network Id” field you enter in your group ID. Then hit save.

That’s it!

Credit goes to LIFX, Smartthings and @zzarbi as I used their device handlers as a basis to make this one:

Known issues in v1.0

  • When you first come into the device in the app, the level slider always shows itself as 0. Just hit the refresh button to make it update. I’m not sure how to fix this and have tried quite a few things… I’ve tested the device handler and it always reports the correct level in the logs, but for some reason the slider wont show the correct level until you refresh… if anyone knows the solution please let me know

  • Colour changing bug - if you change the colour in the app, it works but there is an odd behaviour: If you change the colour in the app and then immediately exit the colour wheel then it behaves as expected - however if you change the colour, and then wait a few seconds before exiting the colour wheel, then once you exit the colour will return to the previous colour. Again I have no idea how to fix this so if anyone has encountered this issue please let me know.


[RELEASE][UPDATED] LIFX Group of Groups
How to hardcode a device?
New App: Control lighting in great detail with button devices (Aeon Minimote, Enerwave ZWN-SC7)
(Tim Slagle) #2

(Joel) #3

thank you very much!!!


(Sean Prange) #4

I am not sure if anyone is interested, but with a few small changes, setting color temperature and levels no longer power on the bulbs. This means you can preset both color temperature and brightness. This allows me to cut down on the number of automations. For smartapps like Circadian Daylight it would mean it could perhaps just update all bulbs (whether on or off as long as the bulbs are online) hourly instead of the waiting for lights to power on etc.


(Joel) #5

Is anyone using this seeing any issues with some lights in the group not responding but then they would respond via the app. Guessing it could be to do with the lifx issues recently. Or are yours all stable ?


(Sean Prange) #6

I frequently have one LIFX bulb stop responding. Most of the time I can toggle it with the LIFX app but sometimes it needs to be power cycled.


(Joel) #7

Yeah i had that. But his is happening constantly. Even with api issues resolved it’s still happening

Seems to be via this device type where it is happening. On lifx app it’s turning groups fine.


(Adam V) #8

I have the same problem - I honestly don’t know what the issue is but my guess is an LIFX issue… Because if I try and use the LIFX app over 3/4G I see the same problem. However when the LIFX app is on the same network as the lights it occurs far less, but still occasionally.

Unfortunately until Smartthings add UDP support, we cannot replicate what the LIFX app is doing on the local network


(Joel) #9

It’s getting so frustrating. With the other St issues , they likely won’t add udp for ages.wonder if reverting back to individual bulbs will help.


(Sean Prange) #10

I haven’t had any more problems with the groups vs individual bulbs. Actually far less with groups. I still have random bulbs that don’t behave though. UDP support would be awesome.


(Joel) #11

weird. my groups are being really annoying.

Cloud issues Fixed according to lifx. But I also change wifi channel to six. And now it’s stable again. Not sure which change fixed it tho


(Adam V) #12

I think the weird behaviour may also be a wifi issue… I’ve been having lights drop off all week and it’s really annoying!

I’m testing out my theory tonight - I’ve just bought 2 super powerful wifi routers and I’m going to reset all my lights and add them to dedicated wifi networks.

If this doesn’t solve the issue then I’m laying the blame on LIFX because I’ve been having issues even in their app now.

I’ll keep you posted


(Adam V) #13

OK I can 100% confirm my issues were WiFi related.

After putting half the groups on one router and the other half on the other, at opposing ends of the apartment, all issues are gone and there is no lag at all when using the LIFX app and almost no lag even from Smartthings. I do have 26 bulbs so with hindsight that was obviously the issue.

I got the Asus 87U router for anyone interested.


(Joel) #14

Good to hear. I have the same router as you and quite have quite a few lifx bulbs. Mine has been stable since my last post also but everything runs off my 87u and an 18 port networks switch.

Last year I had similar issues but that was because I was running four HD cameras on the Wi-Fi network separating them fixed it. This issue confuse me though because the group command was going through but certain bulbs were not responding. And the lifx app was working fine the entire time


(Cullen Patel) #15

How is this working? I am thinking about switching all my bulbs to this but I don’t want to go through the hassle of removing my smartapps and bulbs unless it seems stable at least for smartthings…


(Sean Prange) #16

It works pretty well. You will still suffer from the normal LIFX issues such as a bulb randomly going non responsive but overall it’s a great device handler. Makes controlling groups of LIFX bulbs much easier.


(Cullen Patel) #17

I took the plunge after realizing I can keep my old bulbs and just add groups additionally and use them in parallel. The only issue I am having is that the range on the color temperature does not work. So instead of being from 2,500 to 9000 Kelvin, it only sets it to a value of 1-100 so of course I get an error as followed:

11:06:48 PM: debug generic name is : Extra Warm White
11:06:48 PM: debug ___exception: groovyx.net.http.HttpResponseException: Unprocessable Entity
11:06:47 PM: debug PUT Http Params ([uri:https://api.lifx.com, path:/v1/lights/group_id:hidden for security/state.json, headers:[Content-Type:application/x-www-form-urlencoded, Authorization:Bearer hidden for security], body:[color:kelvin:91, power:on]])
11:06:47 PM: debug Executing ‘setColorTemperature’ to 91

This happens not only with this device but the default handler as well. Anyone else having this issue??


(Adam V) #18

I’ve never seen that before… Which bulbs are you using? I only have the colour ones to test… I’m guessing that you are using the white only ones?


(Cullen Patel) #19

No I am actually using color 1000 bulbs… Changing the color works just fine but adjusting the temperature does nothing…


(Adam V) #20

Right… I don’t have this problem - and I’ve got the same bulbs as you… I’ll do some testing over the weekend and hopefully see whats going on.

Anyone else have this problem?