X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=ColorControl%2FColorControl.groovy;h=f24d274ad61ed0bf98736a9e1d5679e3378ab099;hp=c60afb1620e7cbec1bbe659f4e6cbd20b2db40ef;hb=4e6463b38690279fa3ea38f4d8ef09827d8d6b09;hpb=cefc397d1da4c312797a5d10a0f39f19f9d3a88e;ds=sidebyside diff --git a/ColorControl/ColorControl.groovy b/ColorControl/ColorControl.groovy index c60afb1..f24d274 100644 --- a/ColorControl/ColorControl.groovy +++ b/ColorControl/ColorControl.groovy @@ -66,37 +66,38 @@ public class ColorControl { //methods def setColor(LinkedHashMap metaData) { def hexColor = metaData.hex + def newColor switch (hexColor) { case "#0000FF": - color = "Blue" + newColor = "Blue" break; case "#00FF00": - color = "Green" + newColor = "Green" break; case "#FFFF00": - color = "Yellow" + newColor = "Yellow" break; case "#FF6000": - color = "Orange" + newColor = "Orange" break; case "#BF7FBF": - color = "Purple" + newColor = "Purple" break; case "#FF5F5F": - color = "Pink" + newColor = "Pink" break; case "#FF0000": - color = "Red" + newColor = "Red" break; default: - color = "Blue" + newColor = "Blue" break; } - if (color != this.color) { - this.currentColor = color - this.color = color - println("The color of the light is changed to $color!") - sendEvent([name: "color", value: "$color", deviceId: this.id, descriptionText: "", + if (newColor != this.color) { + this.currentColor = newColor + this.color = newColor + println("The color of the light is changed to $newColor!") + sendEvent([name: "color", value: "$newColor", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } @@ -120,6 +121,16 @@ public class ColorControl { displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } + + def setHue(double hue) { + if (hue != this.hue) { + this.hue = hue + this.currentHue = hue + println("The hue level of the light is changed to $hue!") + sendEvent([name: "hue", value: "$hue", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + } + } def setSaturation(int saturation) { if (saturation != this.saturation) { @@ -130,6 +141,17 @@ public class ColorControl { displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } + + def setSaturation(double saturation) { + if (saturation != this.saturation) { + this.currentSaturation = saturation + this.saturation = saturation + println("The saturation level of the light is changed to $saturation!") + sendEvent([name: "saturation", value: "$saturation", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + } + } + def setLevel(int level) { if (level != this.level) { @@ -141,6 +163,16 @@ public class ColorControl { } } + def setLevel(long level) { + if (level != this.level) { + this.currentLevel = level + this.level = level + println("The level of the light is changed to $level!") + sendEvent([name: "level", value: "$level", deviceId: this.id, descriptionText: "", + displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) + } + } + def setColorTemperature(int colorTemperature) { if (colorTemperature != this.colorTemperature) { this.colorTemperature = colorTemperature @@ -150,24 +182,20 @@ public class ColorControl { } } - def on(String currentSwitch) { - if (currentSwitch != this.currentSwitch) { + def on() { + if (this.currentSwitch != "on") { this.currentSwitch = currentSwitch - println("The light is changed to $currentSwitch!") - sendEvent([name: "switch", value: "$currentSwitch", deviceId: this.id, descriptionText: "", - displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) - sendEvent([name: "switch.on", value: "$currentSwitch", deviceId: this.id, descriptionText: "", + println("The light is changed to on!") + sendEvent([name: "switch", value: "on", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } - def off(String currentSwitch) { - if (currentSwitch != this.currentSwitch) { + def off() { + if (this.currentSwitch != "off") { this.currentSwitch = currentSwitch - println("The light is changed to $currentSwitch!") - sendEvent([name: "switch", value: "$currentSwitch", deviceId: this.id, descriptionText: "", - displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) - sendEvent([name: "switch.off", value: "$currentSwitch", deviceId: this.id, descriptionText: "", + println("The light is changed to off!") + sendEvent([name: "switch", value: "off", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } }