2

To "find" a bulb in Philips Hue environment, it is possible to search in the Hue app by serial number. The serial number is written on the bulb itself. A common question on the internet is how to get that serial number without physical access to the bulb (e.g. when it's high on the ceiling), and the standard answer is "it's impossible, the serial number is not stored in the bulb".

This got me confused: if the serial number is not stored in the bulb, how can it be used? I am interested in the principle here, so it's primarily a curiosity question. Though, if we find a way around it, I would be happy too.

The only idea I could come up with is that the serial number hash is stored in the bulb. So when the bridge knows the serial number, it can hash it and search for a bulb with that hash.

Rohit Gupta
  • 507
  • 2
  • 3
  • 18
texnic
  • 413
  • 4
  • 12

2 Answers2

3

To be honest, now I am not even sure how this question didn’t receive an answer within my own head. The simplest (to imagine) explanation is the cryptographic one-way hashing, when knowing the input one can determine the output, but not the other way round. If the hash is stored in the bulb, my input can be compared against each bulb in the vicinity. But nobody would be able to retrieve the ID from the bulbs remotely. Which is, most probably, to prevent a neighbour from hijacking my lighting.

texnic
  • 413
  • 4
  • 12
2

Sometimes, the internal serial number is some long random byte sequence (could be a guid). But to make it easier for a human to identify the device (and type in an identifier), the manufacturer has a cross ref table in the cloud, of a shorter sequence (like the 6 digit serial number) to (and from) the long serial number.
Such devices will require cloud connectivity for the handshake to succeed, since the short number is not in the device.
In certain cases where the device has a User interface (like a TV or a HDMI stick for a TV), a short number/aphanumeric sequence is generated on the fly and used for connecting.
When the connection is established, it is using the long serial numbers for the actual communications.

kalyanswaroop
  • 1,208
  • 5
  • 16