From e8abc4537704eedb3ae4e163cc16c9f985830189 Mon Sep 17 00:00:00 2001 From: Ryan Cavicchioni Date: Thu, 14 Jan 2021 00:04:05 -0600 Subject: [PATCH] Add poweron and poweroff commands --- cmd/poweroff.go | 40 ++++++++++++++++++++++++++++++++++++++++ cmd/poweron.go | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 cmd/poweroff.go create mode 100644 cmd/poweron.go diff --git a/cmd/poweroff.go b/cmd/poweroff.go new file mode 100644 index 0000000..ece8785 --- /dev/null +++ b/cmd/poweroff.go @@ -0,0 +1,40 @@ +package lumecmd + +import ( + "flag" + + lifx "git.kill0.net/chill9/lume" +) + +func init() { + var cmdName string = "poweroff" + + fs := flag.NewFlagSet(cmdName, flag.ExitOnError) + + duration := fs.Float64("duration", defaultDuration, "Set the duration") + fs.Float64Var(duration, "d", defaultDuration, "Set the duration") + + selector := fs.String("selector", defaultSelector, "Set the selector") + fs.StringVar(selector, "s", defaultSelector, "Set the selector") + + RegisterCommand(cmdName, Command{ + Func: PoweroffCmd, + Flags: fs, + Use: "[--selector ] [--duration ]", + Short: "Power on", + }) +} + +func PoweroffCmd(args CmdArgs) (int, error) { + c := args.Client + duration := args.Flags.Float64("duration") + selector := args.Flags.String("selector") + state := lifx.State{Power: "off", Duration: duration} + + r, err := c.SetState(selector, state) + if err != nil { + return 1, err + } + PrintResults(r.Results) + return 0, nil +} diff --git a/cmd/poweron.go b/cmd/poweron.go new file mode 100644 index 0000000..3d97031 --- /dev/null +++ b/cmd/poweron.go @@ -0,0 +1,40 @@ +package lumecmd + +import ( + "flag" + + lifx "git.kill0.net/chill9/lume" +) + +func init() { + var cmdName string = "poweron" + + fs := flag.NewFlagSet(cmdName, flag.ExitOnError) + + duration := fs.Float64("duration", defaultDuration, "Set the duration") + fs.Float64Var(duration, "d", defaultDuration, "Set the duration") + + selector := fs.String("selector", defaultSelector, "Set the selector") + fs.StringVar(selector, "s", defaultSelector, "Set the selector") + + RegisterCommand(cmdName, Command{ + Func: PoweronCmd, + Flags: fs, + Use: "[--selector ] [--duration ]", + Short: "Power on", + }) +} + +func PoweronCmd(args CmdArgs) (int, error) { + c := args.Client + duration := args.Flags.Float64("duration") + selector := args.Flags.String("selector") + state := lifx.State{Power: "on", Duration: duration} + + r, err := c.SetState(selector, state) + if err != nil { + return 1, err + } + PrintResults(r.Results) + return 0, nil +}