From 7df767996b0b8d7daab32cf43585a97437261df8 Mon Sep 17 00:00:00 2001 From: Collin Guarino Date: Sun, 7 Feb 2016 17:42:26 -0500 Subject: Added light.Toggle func and documentation for On, Off, Toggle. --- light.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'light.go') diff --git a/light.go b/light.go index 2672171..d1908e2 100644 --- a/light.go +++ b/light.go @@ -50,15 +50,25 @@ type LightState struct { XYIncrement *[2]float32 `json:"xy_inc,omitempty"` } +// light.TurnOff will change the light state to the "Off" mode. func (self *Light) TurnOff() { SetLightState(self, LightState{On: false}) } +// light.TurnOn will change the light state to the "On" mode. func (self *Light) TurnOn() { SetLightState(self, LightState{On: true}) } - +// light.Toggle will change the light state to "On" if +// the light is off or "Off" if the light is on. +func (self *Light) Toggle() { + if self.State.On { + self.TurnOff() + } else { + self.TurnOn() + } +} // SetLightState will modify light attributes such as on/off, saturation, // brightness, and more. See `SetLightState` struct. -- cgit v1.2.3