-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlight_model.go
74 lines (65 loc) · 2.34 KB
/
light_model.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package hue
type Light struct {
ID int `json:"-"`
State State `json:"state,omitempty"`
SWUpdate SWUpdate `json:"swupdate,omitempty"`
Type string `json:"type,omitempty"`
Name string `json:"name"`
ModelId string `json:"modelid,omitempty"`
ManufacturerName string `json:"manufacturername,omitempty"`
ProductName string `json:"productname,omitempty"`
Capabilities Capabilities `json:"capabilities,omitempty"`
Config Config `json:"config,omitempty"`
UniqueId string `json:"uniqueid,omitempty"`
SWVersion string `json:"swversion,omitempty"`
SWConfigId string `json:"swconfigid,omitempty"`
ProductId string `json:"productid,omitempty"`
}
type Config struct {
Archetype string `json:"archetype"`
Function string `json:"function"`
Direction string `json:"direction"`
Startup Startup `json:"startup"`
}
type Startup struct {
Mode string `json:"mode"`
Configured bool `json:"configured"`
}
type Capabilities struct {
Certified bool `json:"certified"`
Control Control `json:"control"`
Streaming Streaming `json:"streaming"`
}
type Streaming struct {
Renderer bool `json:"renderer"`
Proxy bool `json:"proxy"`
}
type Control struct {
Mindimlevel int `json:"mindimlevel"`
Maxlumen int `json:"maxlumen"`
Colorgamuttype string `json:"colorgamuttype"`
Colorgamut [][]float64 `json:"colorgamut"`
Ct Ct `json:"ct"`
}
type Ct struct {
Min int `json:"min"`
Max int `json:"max"`
}
type SWUpdate struct {
State string `json:"state"`
Lastinstall string `json:"lastinstall"`
}
type State struct {
On bool `json:"on"`
Hue uint16 `json:"hue,omitempty"`
Effect string `json:"effect,omitempty"`
Bri uint8 `json:"bri,omitempty"`
Sat uint8 `json:"sat,omitempty"`
CT uint16 `json:"ct,omitempty"`
XY []float32 `json:"xy,omitempty"`
Alert string `json:"alert,omitempty"`
TransitionTime uint16 `json:"transitiontime,omitempty"`
Reachable bool `json:"reachable,omitempty"`
ColorMode string `json:"colormode,omitempty"`
Mode string `json:"mode,omitempty"`
}