White 800 and Original firmware differences

Continuing the discussion from Lightsd: a daemon with a JSON-RPC API to control your bulbs:

Version 1.5 of the White 800 bulbs speaks the same protocol that the 2.0 firmware on the Original 1000 and Color 650 bulbs does. The firmware is different internally to deal with the different hardware in each bulb, but the developer facing parts should be the same. If they aren’t please report these to us as bugs.

1 Like

It would be nice to have some notion of “API level” that could be retrieved from the bulb, so that it’s possible to know what messages the bulb supports, without having to know the firmware versioning scheme for each model.

I think just having that in the documentation would be good! Then, since the bulbs expose their firmware version, you can dispatch calls based on that?

Right, that would be pretty good. My only concern is that as the number of LIFX products grows, there is a table that has to be kept up-to-date in every program that uses LIFX. We already need such a table to map product numbers to names, though. But as the amount of information in the table grows, I think it’s more important to have the table provided in an easily machine-readable format. The table here seems to not be very amenable to scraping, since it seems to be all Javascript and no HTML.

If the “table” information was stored in each bulb, then software could easily deal with new products that it didn’t know about in advance.