move client structs

This commit is contained in:
Ryan Cavicchioni 2020-02-29 15:57:32 -06:00
parent 1c99d42224
commit 37d3179662
Signed by: ryanc
GPG Key ID: 877EEDAF9245103D
3 changed files with 50 additions and 30 deletions

View File

@ -10,6 +10,23 @@ import (
"net/http" "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{ var errorMap = map[int]error{
http.StatusNotFound: errors.New("Selector did not match any lights"), http.StatusNotFound: errors.New("Selector did not match any lights"),
http.StatusUnauthorized: errors.New("Bad access token"), http.StatusUnauthorized: errors.New("Bad access token"),

View File

@ -4,23 +4,42 @@ import (
"fmt" "fmt"
"git.kill0.net/chill9/go-lifx" "git.kill0.net/chill9/go-lifx"
"os" "os"
"time" //"time"
) )
func main() { func main() {
apiToken := os.Getenv("LIFX_API_TOKEN") accessToken := os.Getenv("LIFX_ACCESS_TOKEN")
if apiToken == "" { if accessToken == "" {
fmt.Println("LIFX_API_TOKEN is undefined") fmt.Println("LIFX_ACCESS_TOKEN is undefined")
os.Exit(1) os.Exit(1)
} }
s := &lifx.State{Power: "on", Color: "blue"} color1 := lifx.RGBColor{R: 235, G: 191, B: 255}
c := lifx.NewSession(apiToken) color2 := lifx.NewHSBKColor()
c.SetState("group:Office", s) color2.H = 27
time.Sleep(10 * time.Second) color2.S = 1
s.Color = "white" color2.B = 0.39
res, _ := c.SetState("group:Office", s) fmt.Println(color1.Hex())
fmt.Println(res) fmt.Println(color1.ColorString())
//c.SetState("all", &lifx.State{Power: "on", Color: "green"}) fmt.Println(color2.ColorString())
time.Sleep(10) s := lifx.State{Power: "on", Color: color2}
//c.PowerOff("all") 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)
} }

View File

@ -2,7 +2,6 @@ package lifx
import ( import (
"fmt" "fmt"
"net/http"
"strings" "strings"
) )
@ -15,21 +14,6 @@ type (
type ( type (
Status string 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 { RGBColor struct {
R, G, B uint8 R, G, B uint8
} }