From 9e1fecd51356c1b7357551cb0afc83988414151c Mon Sep 17 00:00:00 2001 From: "Denis V. Dedkov" Date: Mon, 27 Jun 2016 00:29:32 +0500 Subject: [PATCH] Set command was realised --- noolite-cli.go | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/noolite-cli.go b/noolite-cli.go index a246005..7d77db3 100644 --- a/noolite-cli.go +++ b/noolite-cli.go @@ -2,20 +2,20 @@ package main import ( "flag" - "fmt" "github.com/dedkovd/noolite" ) func main() { channel := flag.Int("channel", -1, "Noolite adapter channel") command := flag.String("command", "", "Command") + value := flag.Int("val", 0, "Set value") + red := flag.Int("r", 0, "Red channel") + green := flag.Int("g", 0, "Green channel") + blue := flag.Int("b", 0, "Blue channel") flag.Parse() - fmt.Println(*channel) - fmt.Println(*command) - if *channel == -1 { - panic ("Channel was not set") + panic("Channel was not set") } if *command == "" { @@ -24,26 +24,36 @@ func main() { n, err := noolite.DefaultNooliteAdapter() - commands := map[string]func(int) error{ - "on": n.On, - "off": n.Off, - "switch": n.Switch, - } - if err != nil { panic(err) } defer n.Close() - cmd, ok := commands[*command] + if *command == "set" { + if *value != 0 { + err = n.SetBrightnesValue(*channel, *value) + } else if *red != 0 || *green != 0 || *blue != 0 { + err = n.SetBrightnesValues(*channel, *red, *green, *blue) + } else { + panic("Need some value") + } + } else { + commands := map[string]func(int) error{ + "on": n.On, + "off": n.Off, + "switch": n.Switch, + } - if !ok { - panic("Command not found") + cmd, ok := commands[*command] + + if !ok { + panic("Command not found") + } + + err = cmd(*channel) } - cmd(*channel) - if err != nil { panic(err) }