Im wondering how post requests are sent to my lifx bulbs from th internet? I cant seem to find a diagram or architecture that explains it?
Im aware that the bulb starts as its own wifi router which then seems to connect to my home router.
Does the lifx bulb simply have a public ip address?
Do LIFX store it somewhere? Or is my router public IP stored?
The LIFX bulbs run on your network, they don’t have a public IP address, they simply connect back to the LIFX servers.
Since the connection is initiated from your (home) network, it is not filtered by your router and LIFX doesn’t need to know your address.
Hope that clarifies.
So in the case where my phone does a POST on 4g network to change the state say from off to on, are you telling me the lifx is constantly polling the LIFX servers to receive the state change?
You don’t need to do polling to keep a connection alive, so no: the server will just push the command.
Your phone gets push notifications through a similar mechanism.
Everything @lopter has said is correct. Basically it works like this:
- You turn the bulb on
- If the bulb has wifi credentials (ie its been onboarded) the bulb makes a connection to your wireless network
- If the bulb has cloud credentials (ie it has been claimed) the bulb starts a TLS secured TCP connection to
v2.broker.lifx.co on port 56700
- Data is pushed to the cloud and the cloud pushes data to the bulb through this TCP connection.
Small amounts of data are sent through the TCP connection in both directions all the time to test if the connection is still there, and to keep stateful firewalls happy.
How would you get around a corporate firewall that blocks outgoing port 56700 (and almost everything else)?
Is there a recommended method for what frakman1 is asking for? Definitely a common issue with corporate IT policies
I requested my IT department unblock that outbound port to that server and they did so it is no longer an issue.
I was getting around it by using my phone as a mobile hotspot and tethering my bulbs to it. A bit much I know haha