diff --git a/noolite-cli.go b/noolite-cli.go index 551c918..bc8518f 100644 --- a/noolite-cli.go +++ b/noolite-cli.go @@ -10,7 +10,7 @@ import ( "strconv" ) -func sendCommand(command string, channel, value, r, g, b int) error { +func sendCommand(n *noolite.NooliteAdapter, command string, channel, value, r, g, b int) error { if channel == -1 { return errors.New("Channel was not set") } @@ -19,14 +19,6 @@ func sendCommand(command string, channel, value, r, g, b int) error { return errors.New("Command was not set") } - n, err := noolite.DefaultNooliteAdapter() - - if err != nil { - return err - } - - defer n.Close() - if command == "set" { if value != 0 { return n.SetBrightnesValue(channel, value) @@ -94,8 +86,16 @@ func main() { flag.Parse() + n, err := noolite.DefaultNooliteAdapter() + + if err != nil { + panic(err) + } + + defer n.Close() + if *http_port < 0 { - err := sendCommand(*command, *channel, *value, *red, *green, *blue) + err := sendCommand(n, *command, *channel, *value, *red, *green, *blue) if err != nil { panic(err) @@ -104,7 +104,7 @@ func main() { http.HandleFunc("/noolite/", func(w http.ResponseWriter, r *http.Request) { command, channel, value, red, green, blue := parseParams(r.URL.Path[1:]) - err := sendCommand(command, channel, value, red, green, blue) + err := sendCommand(n, command, channel, value, red, green, blue) if err != nil { fmt.Fprintf(w, "{\"error\": %q}", err)