Philips Hue
CLIP v2 over HTTPS, straight to the bridge.
Getting access
lume pair # press the round button on the bridge first
The bridge only hands out an application key while its physical button is lit,
so lume pair polls for 45 seconds. The key is saved to
~/.config/lume/hue-token.
Addressing a light
Point a lamp’s id at a light, a room or a zone — by the name shown in
the Hue app, by its old v1 number, or by its v2 uuid. All three resolve, and a
typo gets a suggestion rather than a shrug.
{ "type": "hue", "host": "192.168.1.53", "id": "Büro" }
{ "type": "hue", "host": "192.168.1.53", "id": "9" }
{ "type": "hue", "host": "192.168.1.53", "id": "58a6cf82-304f-4c81-abd3-88e86e2db890" }
A room controls every bulb in it through a single command, so as far as a profile is concerned an entire room is a perfectly good lamp. That is not a special case in lume: the bridge exposes rooms and single lights through the same interface, and so does lume.
When a name is ambiguous
Names are not unique across kinds — a room and a bulb inside it are commonly both called Schlafzimmer. Prefix the kind to say which one you mean:
{ "id": "room:Schlafzimmer" }
{ "id": "light:Schlafzimmer" }
{ "id": "zone:Terrasse" }
lume setup writes that prefix automatically wherever it would otherwise be
ambiguous. Without a prefix, a light wins, because that is the narrower thing to
have asked for.
What Hue can do that Elgato cannot
Colour, for one: lume akzent color amber, or any #rrggbb.
And lume akzent watch is genuinely live — the bridge reports every change on
the whole system, including the ones you did not make, so it shows what a wall
switch or the Hue app is doing.
brightness 0 is accepted but does not switch a Hue light off — it goes to
its minimum and stays on. lume reports the light as on at 0 % rather than quietly
turning it off on your behalf.