It would be great if you could add the product identifier (like lifx_color_a19 ) that is returned using the HTTP API to the products.json file. We would like to use this for matching all of the LIFX lights to icons in our app. I was not able to find a list anywhere which contains all of the product identifiers of the HTTP API. Could you add these identifiers to the products.json file, please? Or provide a list of all current identifiers?
An alternative solution would be to add the vendor and product id to the HTTP API so we can use products.json.
You are right that the LAN protocol is much more efficient. We use the LAN protocol whenever possible, but when a light cannot be reached, our app uses the HTTP API. This could happen for example when the user is not at home.
Our app saves the vendor and product IDs locally so they are always available. We use them with products.json for showing the correct light icons in the app.
In case the user has not (yet) connected the app to the same network as the lights, the vendor and product IDs are unknown. So we cannot show a correct icon for the light. If we could use the HTTP product identifiers as well, we can show a correct icon in every situation.
Sorry, I was going to discuss that github issue with the team on Tuesday when we were all at work, but then I forgot and then I took yesterday off. I’ll have that conversation today.
As for the problem you’re trying to solve, are you able to explain a bit more about how you want to match up the device to the icons?
One of the problems with the identifiers is we change the names of our devices sometimes so, unlike the product id, they can change over time. Everything in products.json is in the /v1/lights output (except pid and identifier) so you should be able to combine capabilities and look for keywords in the name like original, br30, a19, downlight, etc.
When using the LAN protocol, we use the vendor and product IDs (the “numbers”) to match every ID to a correct light icon. The products.json has a nice list with all the currently available IDs so that was very easy to do.
When the LAN protocol isn’t available, we use cached values of the vendor and product IDs. But if the light was not (yet) connected locally we can only retrieve the details using the HTTP API. In that case we don’t know the vendor or product IDs yet so are unable to use the same code to match every ID to a correct icon. That is why we are trying to find an alternative way when using the HTTP API.
Are you talking a about the HTTP API list lights product.identifier or product.name? If the product.identifier stays the same, we could use that to match every available identifier to a light icon. But if that changes often it could be more challenging to use that for matching it to a correct icon. In that case it would be really great if the HTTP API would also return the LAN vendor and product API so we can use the same code for matching the IDs to icons as the LAN API.
That could work, but in that case it would be nice if you could provide a list of all the http names/identifiers. We don’t have every LIFX lamp ever made (yet), so we don’t know all of the names/identifiers.
Hue Essentials for iOS and Android (TV) supports Philips Hue Bluetooth and Bridge, Phoscon (deCONZ), diyHue, and (only Android:) Trådfri.
Development for LIFX as a new addition just started recently and we expect to release a beta in the coming weeks. What we want to bring is for instance support for the LIFX lightstrip with zones on your Android TV.
Furthermore, current features supported (like Dance Sensation or effects) under the current brands should come to LIFX, too.
We only communicated our intention to bring support for LIFX on our Instagram channel. When we release the beta, we will start to update the website.