diff --git a/client.go b/client.go index 91e908b..fdf99bb 100644 --- a/client.go +++ b/client.go @@ -10,6 +10,23 @@ import ( "net/http" ) +type ( + Client struct { + accessToken string + Client *http.Client + } + + Results struct { + Results []Result `json:results` + } + + Result struct { + ID string `json:"id"` + Label string `json:"label"` + Status Status `json:"status"` + } +) + var errorMap = map[int]error{ http.StatusNotFound: errors.New("Selector did not match any lights"), http.StatusUnauthorized: errors.New("Bad access token"), diff --git a/cmd/lifx.go b/cmd/lifx.go index 400f34b..cc51244 100644 --- a/cmd/lifx.go +++ b/cmd/lifx.go @@ -4,23 +4,42 @@ import ( "fmt" "git.kill0.net/chill9/go-lifx" "os" - "time" + //"time" ) func main() { - apiToken := os.Getenv("LIFX_API_TOKEN") - if apiToken == "" { - fmt.Println("LIFX_API_TOKEN is undefined") + accessToken := os.Getenv("LIFX_ACCESS_TOKEN") + if accessToken == "" { + fmt.Println("LIFX_ACCESS_TOKEN is undefined") os.Exit(1) } - s := &lifx.State{Power: "on", Color: "blue"} - c := lifx.NewSession(apiToken) - c.SetState("group:Office", s) - time.Sleep(10 * time.Second) - s.Color = "white" - res, _ := c.SetState("group:Office", s) - fmt.Println(res) - //c.SetState("all", &lifx.State{Power: "on", Color: "green"}) - time.Sleep(10) - //c.PowerOff("all") + color1 := lifx.RGBColor{R: 235, G: 191, B: 255} + color2 := lifx.NewHSBKColor() + color2.H = 27 + color2.S = 1 + color2.B = 0.39 + fmt.Println(color1.Hex()) + fmt.Println(color1.ColorString()) + fmt.Println(color2.ColorString()) + s := lifx.State{Power: "on", Color: color2} + c := lifx.NewClient(accessToken) + selector := "group:Office" + r, err := c.FastSetState(selector, s) + /* + time.Sleep(10 * time.Second) + s.Color = "white" + res, _ := c.SetState(selector, s) + fmt.Println(res) + //c.SetState("all", &lifx.State{Power: "on", Color: "green"}) + time.Sleep(10 * time.Second) + c.FastPowerOff(selector) + time.Sleep(10 * time.Second) + c.FastPowerOn(selector) + //c.PowerOff("all") + */ + fmt.Println(err) + fmt.Println(r) + r, err = c.Toggle(selector, 10.0) + fmt.Println(err) + fmt.Println(r) } diff --git a/structs.go b/structs.go index 4a8ee09..8a608de 100644 --- a/structs.go +++ b/structs.go @@ -2,7 +2,6 @@ package lifx import ( "fmt" - "net/http" "strings" ) @@ -15,21 +14,6 @@ type ( type ( Status string - Client struct { - accessToken string - Client *http.Client - } - - Results struct { - Results []Result `json:results` - } - - Result struct { - ID string `json:"id"` - Label string `json:"label"` - Status Status `json:"status"` - } - RGBColor struct { R, G, B uint8 }