Compare commits
	
		
			2 Commits
		
	
	
		
			1c99d42224
			...
			becc179184
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						becc179184
	
				 | 
					
					
						|||
| 
						
						
							
						
						37d3179662
	
				 | 
					
					
						
							
								
								
									
										17
									
								
								client.go
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								client.go
									
									
									
									
									
								
							@@ -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"),
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										37
									
								
								cmd/lifx.go
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								cmd/lifx.go
									
									
									
									
									
								
							@@ -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
 | 
				
			||||||
 | 
						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)
 | 
							time.Sleep(10 * time.Second)
 | 
				
			||||||
		s.Color = "white"
 | 
							s.Color = "white"
 | 
				
			||||||
	res, _ := c.SetState("group:Office", s)
 | 
							res, _ := c.SetState(selector, s)
 | 
				
			||||||
		fmt.Println(res)
 | 
							fmt.Println(res)
 | 
				
			||||||
		//c.SetState("all", &lifx.State{Power: "on", Color: "green"})
 | 
							//c.SetState("all", &lifx.State{Power: "on", Color: "green"})
 | 
				
			||||||
	time.Sleep(10)
 | 
							time.Sleep(10 * time.Second)
 | 
				
			||||||
 | 
							c.FastPowerOff(selector)
 | 
				
			||||||
 | 
							time.Sleep(10 * time.Second)
 | 
				
			||||||
 | 
							c.FastPowerOn(selector)
 | 
				
			||||||
		//c.PowerOff("all")
 | 
							//c.PowerOff("all")
 | 
				
			||||||
 | 
						*/
 | 
				
			||||||
 | 
						fmt.Println(err)
 | 
				
			||||||
 | 
						fmt.Println(r)
 | 
				
			||||||
 | 
						r, err = c.Toggle(selector, 10.0)
 | 
				
			||||||
 | 
						fmt.Println(err)
 | 
				
			||||||
 | 
						fmt.Println(r)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,8 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type (
 | 
					type (
 | 
				
			||||||
 | 
						Status string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	State struct {
 | 
						State struct {
 | 
				
			||||||
		Power      string  `json:"power,omitempty"`
 | 
							Power      string  `json:"power,omitempty"`
 | 
				
			||||||
		Color      Color   `json:"color,omitempty"`
 | 
							Color      Color   `json:"color,omitempty"`
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								structs.go
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								structs.go
									
									
									
									
									
								
							@@ -2,7 +2,6 @@ package lifx
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"net/http"
 | 
					 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -13,23 +12,6 @@ type (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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 {
 | 
						RGBColor struct {
 | 
				
			||||||
		R, G, B uint8
 | 
							R, G, B uint8
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user