Skip to content
Erik Baauw edited this page Apr 22, 2017 · 23 revisions

Get Light State

On a GET of a single light, /lights/1, the Hue API returns:

{
  "manufacturername": "Philips",
  "modelid": "LCT003",
  "name": "Living Room 1",
  "state": {
    "alert": "none",
    "bri": 254,
    "colormode": "xy",
    "ct": 463,
    "effect": "none",
    "hue": 13195,
    "on": false,
    "reachable": true,
    "sat": 210,
    "xy": [
      0.5106,
      0.415
    ]
  },
  "swversion": "5.50.1.19085",
  "type": "Extended color light",
  "uniqueid": "00:17:88:01:00:f0:71:18-0b"
}

On a GET of the same light, the deCONZ REST API returns:

{
  "etag": "1e6fe902a4aa8c0bbd2ef8528f654532",
  "hascolor": true,
  "manufacturer": "Philips",
  "modelid": "LCT003",
  "name": "Living Room 1",
  "pointsymbol": {},
  "state": {
    "alert": "none",
    "bri": 254,
    "colormode": "xy",
    "ct": 463,
    "effect": "none",
    "hue": 13158,
    "on": false,
    "reachable": true,
    "sat": 210,
    "xy": [
      0.512615,
      0.416627
    ]
  },
  "swversion": "5.50.1.19085",
  "type": "Extended color light",
  "uniqueid": "00:17:88:01:00:f0:71:18-0b"
}

Comparison

Attribute Hue deCONZ Remarks
etag Y Missing from the Hue API.
hascolor Y Missing from the Hue API.
Seems redundant - could be derived from type.
manufacturer N Y Is manufacturername in the Hue API.
manudacturername Y N Is manufacturer in the deCONZ API.
modelid Y Y
name Y Y
pointsymbol Y Has been removed from Hue API.
state Y Y
state.alert Y Y
state.bri Y Y deCONZ also shows bri for an On/off plugin unit.
state.colormode Y Y
state.ct Y Y deCONZ also shows ct for Color Lights.
state.effect Y Y deCONZ also shows effect for a Dimmable light and for an On/off plugin unit.
state.hue Y Y Values differ, see below.
state.on Y Y
state.reachable Y Y
state.sat Y Y Values differ, see below.
state.xy Y Y Values differ, see below.
The Hue API limits the values to four decimals, the deCONZ API uses six decimals.
swversion Y Y
type Y Y
uniqueid Y Y

Notes

Both the Hue API and the deCONZ API seem to base state.ct on the Color temparature attribute (0x0007) in the Color control cluster (0x0300). The value of this attribute is used directly, without any conversions.

The Hue API seems to base state.hue on the Enhanced current hue attribute (0x4000) in the Color Control cluster. The value of this attribute is used directly, without any conversions. The deCONZ API reports a slightly different value, which doesn't seem to be based on the Current hue attribute (0x0000) either.

The Hue bridge seems to base state.sat on the Current saturation attribute (0x0002) in the Color control cluster (0x0300). The value of this attribute is used directly, without any conversions. Sometimes the deCONZ API reports a slightly different value.

The Hue API seems to base state.xy[0] on the Current x attribute (0x0003) and state.xy[1] on the Current y attribute (0x0004) in the Color control cluster (0x0300). The attributes are u16; the API values are float, which are derived by dividing the attribute values by 65536. The deCONZ API reports slightly different values.

Get All Lights

Both the Hue API and the deCONZ API report the same attributes per light as when getting a single light resource. The Hue API returns the lights in numerical order; the deCONZ API returns the lights in alphabetical order (see issue #22). Again, from an API perspective this doesn't matter, as JSON doesn't define any order of keys within an object.

Clone this wiki locally