Urgent help request

Hi all,
I’m very new to LIFX and moreover a bit rusty with my programming. I recently bought a LIFX device and trying to understand the different protocols to control the device. I see the bulb I’ve White 800 is Allseen certified, so this would enable me to control the device over Alljoyn so practically I can use it. But I don’t understand why we have LAN Protocol? is it a completely different protocol which has nothing to do with Alljoyn? what are the motivations to have two different protocol I don’t understand. Can you someone please help, throw some light the differences or guide me to the documentation?

Many thanks
bruce

Not everything is connected to the internet…
We need 2 APIs because we need to

  1. Be able to control bulbs remotely
  2. Be able to control bulbs even when an internet connection is unavailble.

For example a couple of weeks ago there was a damage in the phone cables and I was offline for hours. If not for the LAN API, I wouldn’t be able to control my lights. However, even without a connection I was able to control them because my phone was connected to the same router, therefore the same network (i.e. LAN)

The LIFX (LAN) protocol is what is used to communicate with the LIFX lights in the LIFX app and a range of other apps. AllJoyn is an open protocol created by a range of different companies in the industry. We support both protocols on the White 800/Color 1000 bulbs to enable our devices to integrate with a wider range of other IoT devices.

Thanks both for clarifying things. I’m getting a hang of these sleek devices.

Don’t be fooled by the android Lifx App which is unable to control lights when internet access is lost (I tried last week, this bug is already here). But yes, you can control your lights in a private LAN, without internet access, provided you have the right tool (Lifx App again should do).

If you want to have a good layer between your code and the lifx bulbs, you can/should use lightsd which run AFAIK osx/linux/dd-wrt - This GREAT piece of code alleviates you to handle the LAN protocol, and provides a clean JSON API instead. Should have a look to http://lightsd.readthedocs.io/en/latest/

Hi tactif,

We’ll look into your report that the Android app isn’t working without internet access to control your lights on LAN. Would you be able to contact support@lifx.com so we can look into the details of your account?

Hi Mark ! Done, message sent !

A further analysis of the protocol leaves me totally confused. Please correct if wrong, I can see from the wireshark packets that LiFX only initially uses ALLJOYN and rest of the communication is all done using LAN protocol?

Edit: P.S. I mean I don’t see a session being established.

The Windows 10 application is the only official LIFX application that will use Alljoyn to control your bulbs. Everything else will either use the HTTP API or the LIFX LAN Protocol.

Could you give me more details about what you are seeing, and what you expect?

Hi Daniel, thanks for your response, here’s the packet trace of Luminaire which implements the AllJoyn LSF, but I can see anything at all from the LiFX White 800 bulb, apart from the fact that the windows app communicating over port 56700 on both ends. I can see MDNS queries coming out once in a while. Further, I was expecting the IoT explorer be able to connect and browse the interfaces? I can’t do that either for some reason, it works very sporadically. I’ve reset the device more number of times and at times when I’ve not onboarded the device to the network I can connect and bring up the device on the IoT explorer. Is it because I’ve claimed it once? any help is much appreciated.

Hi Daniel, it’s been more than a day I’ve haven’t been able to figure out why Lifx bulb which was showing on IoT explorer on Windows 10, initially, but not appear anymore, any tips is much appreciated.

last draw before taking back. Setup keeps stopping at updating light. please help

Your best bet is to contact LIFX Support if you’re having connection issues. They’re really good about getting back to you!