|
@@ -2,20 +2,20 @@ package main
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"flag"
|
|
"flag"
|
|
|
- "fmt"
|
|
|
|
|
"github.com/dedkovd/noolite"
|
|
"github.com/dedkovd/noolite"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
func main() {
|
|
|
channel := flag.Int("channel", -1, "Noolite adapter channel")
|
|
channel := flag.Int("channel", -1, "Noolite adapter channel")
|
|
|
command := flag.String("command", "", "Command")
|
|
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()
|
|
flag.Parse()
|
|
|
|
|
|
|
|
- fmt.Println(*channel)
|
|
|
|
|
- fmt.Println(*command)
|
|
|
|
|
-
|
|
|
|
|
if *channel == -1 {
|
|
if *channel == -1 {
|
|
|
- panic ("Channel was not set")
|
|
|
|
|
|
|
+ panic("Channel was not set")
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if *command == "" {
|
|
if *command == "" {
|
|
@@ -24,26 +24,36 @@ func main() {
|
|
|
|
|
|
|
|
n, err := noolite.DefaultNooliteAdapter()
|
|
n, err := noolite.DefaultNooliteAdapter()
|
|
|
|
|
|
|
|
- commands := map[string]func(int) error{
|
|
|
|
|
- "on": n.On,
|
|
|
|
|
- "off": n.Off,
|
|
|
|
|
- "switch": n.Switch,
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
panic(err)
|
|
panic(err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
defer n.Close()
|
|
defer n.Close()
|
|
|
|
|
|
|
|
- cmd, ok := commands[*command]
|
|
|
|
|
-
|
|
|
|
|
- if !ok {
|
|
|
|
|
- panic("Command not found")
|
|
|
|
|
|
|
+ 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,
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ cmd, ok := commands[*command]
|
|
|
|
|
+
|
|
|
|
|
+ if !ok {
|
|
|
|
|
+ panic("Command not found")
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ err = cmd(*channel)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- cmd(*channel)
|
|
|
|
|
-
|
|
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
panic(err)
|
|
panic(err)
|
|
|
}
|
|
}
|