Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/smartthings-infrastructure
[smartthings-infrastructure.git] / ColorControl / ColorControls.groovy
index 6eb5ac65f9f26a3e597cc07c72c7e9d86c9b86d1..3538447ce14bad689fd59d4e68a8e752d8d49219 100644 (file)
@@ -37,6 +37,19 @@ public class ColorControls {
                        this.color = "blue"
                }
 
+               def initHue = Verify.getIntFromList(30, 50, 70)
+               this.hue = initHue
+               def initSat = Verify.getIntFromList(40, 50, 60)
+               this.saturation = initSat
+               def init = Verify.getInt(0,2)
+               if (init == 0) {
+                       this.color = "red"
+               } else if (init == 1) {
+                       this.color = "green"
+               } else {
+                       this.color = "blue"
+               }
+
                colorControls.add(new ColorControl(id, label, displayName, this.color, this.hue, this.saturation))
        }
 
@@ -83,18 +96,24 @@ public class ColorControls {
 
        //methods
        def setColor(String color) {
-               colorControls[0].setColor(color)
-               this.color = color      
+               if (color != this.color) {
+                       colorControls[0].setColor(color)
+                       this.color = color
+               }
        }
 
        def setHue(int hue) {
-               colorControls[0].setHue(hue)
-               this.hue = hue  
+               if (hue != this.hue) {          
+                       colorControls[0].setHue(hue)
+                       this.hue = hue
+               }
        }
 
        def setSaturation(int saturation) {
-               colorControls[0].setSaturation(saturation)
-               this.saturation = saturation    
+               if (saturation != this.saturation) {
+                       colorControls[0].setSaturation(saturation)
+                       this.saturation = saturation
+               }       
        }
 
        def currentValue(String deviceFeature) {