aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--light.go25
-rw-r--r--light_test.go2
2 files changed, 8 insertions, 19 deletions
diff --git a/light.go b/light.go
index 0e8312d..bd471d5 100644
--- a/light.go
+++ b/light.go
@@ -87,25 +87,14 @@ func (self *Light) Toggle() error {
}
}
-// Light.ColorLoopOn will turn the light on and set the effect to "colorloop"
-func (self *Light) ColorLoopOn() error {
- return SetLightState(self, LightState{On: true, Effect: "colorloop"})
-}
-
-// Light.ColorLoopOn will turn the light on and set the effect to "none"
-func (self *Light) ColorLoopOff() error {
- return SetLightState(self, LightState{On: true, Effect: "none"})
-}
-
-// Light.ColorLoop will set the light state to a colorloop if there is no
-// current effect in place or if the state is in colorloop then it will
-// set it to "none".
-func (self *Light) ColorLoop() error {
- if self.State.Effect == "colorloop" {
- return self.ColorLoopOff()
- } else {
- return self.ColorLoopOn()
+// Light.ColorLoop will set the light state to 'colorloop' if `active`
+// is true or it will set the light state to "none" if `activate` is false.
+func (self *Light) ColorLoop(activate bool) error {
+ var state = "none"
+ if activate {
+ state = "colorloop"
}
+ return SetLightState(self, LightState{On: true, Effect: state})
}
// SetLightState will modify light attributes such as on/off, saturation,
diff --git a/light_test.go b/light_test.go
index f988925..98c2030 100644
--- a/light_test.go
+++ b/light_test.go
@@ -35,7 +35,7 @@ func TestSetLightState(t *testing.T) {
time.Sleep(time.Second)
selectedLight.Toggle()
time.Sleep(time.Second)
- selectedLight.ColorLoop()
+ selectedLight.ColorLoop(false)
selectedLight.SetName("Ceiling Fan Outer")
}