From 32d8e201749f37fda7607408ae3d89d58ebf685f Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Wed, 23 May 2018 23:15:29 -0400 Subject: Add capabilities to Light struct The Hue API returns a "capabilities" key along with each light that specifies the parameters available for the light. These capabilities allow subsequent requests/settings to be made more intelligently depending on the features supported by the luminaire. --- light.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/light.go b/light.go index aef5954..592283b 100644 --- a/light.go +++ b/light.go @@ -28,6 +28,23 @@ type Light struct { ColorMode string `json:"colormode"` // HS or XY mode for choosing color Reachable bool `json:"reachable"` } `json:"state"` + Capabilities struct { + Certified bool `json:"certified,omitempty"` + Control struct { + MinDimLevel uint16 `json:"mindimlevel,omitempty"` + MaxLumen uint16 `json:"maxlumen,omitempty"` + ColorGamutType string `json:"colorgamuttype,omitempty"` + ColorGamut [][2]float32 `json:"colorgamut,omitempty"` + CT struct { + Min uint16 `json:"min,omitempty"` + Max uint16 `json:"max,omitempty"` + } `json:"ct,omitempty"` + } `json:"control,omitempty"` + Streaming struct { + Renderer bool `json:"renderer,omitempty"` + Proxy bool `json:"proxy,omitempty"` + } `json:"streaming,omitempty"` + } `json:"capabilities,omitempty"` Type string `json:"type"` Name string `json:"name"` ModelID string `json:"modelid"` -- cgit v1.2.3