From 4e6463b38690279fa3ea38f4d8ef09827d8d6b09 Mon Sep 17 00:00:00 2001 From: rtrimana Date: Sat, 10 Aug 2019 23:40:48 -0700 Subject: [PATCH] Adding missing methods; rearranging initial values. --- ColorControl/ColorControl.groovy | 13 ++++++++++++- ColorControl/ColorControls.groovy | 14 +++++++++++--- Event/Event.groovy | 3 +++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ColorControl/ColorControl.groovy b/ColorControl/ColorControl.groovy index e0a905f..f24d274 100644 --- a/ColorControl/ColorControl.groovy +++ b/ColorControl/ColorControl.groovy @@ -127,7 +127,7 @@ public class ColorControl { 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: "", + sendEvent([name: "hue", value: "$hue", deviceId: this.id, descriptionText: "", displayed: true, linkText: "", isStateChange: false, unit: "", data: '{"info": "info"}']) } } @@ -141,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) { diff --git a/ColorControl/ColorControls.groovy b/ColorControl/ColorControls.groovy index 5eb237b..a2c93de 100644 --- a/ColorControl/ColorControls.groovy +++ b/ColorControl/ColorControls.groovy @@ -38,7 +38,7 @@ public class ColorControls { this.currentSaturation = 40 this.colorTemperature = 10000 this.color = "Red" - this.currentSwitch = "off" + this.currentSwitch = "on" } else { this.level = 50 this.currentLevel = 50 @@ -48,7 +48,7 @@ public class ColorControls { this.currentSaturation = 50 this.colorTemperature = 15000 this.color = "Blue" - this.currentSwitch = "on" + this.currentSwitch = "off" } colorControls.add(new ColorControl(sendEvent, id, label, displayName, this.color, this.hue, this.saturation, this.level, this.currentSwitch, this.colorTemperature)) } @@ -193,7 +193,7 @@ public class ColorControls { if (hue != this.hue) { this.hue = hue this.currentHue = hue - colorControls[0].setHue(hue) + colorControls[0].setHue((int) hue) } } @@ -204,6 +204,14 @@ public class ColorControls { colorControls[0].setSaturation(saturation) } } + + def setSaturation(double saturation) { + if (saturation != this.saturation) { + this.currentSaturation = saturation + this.saturation = saturation + colorControls[0].setSaturation(saturation) + } + } def setLevel(int level) { if (level != this.level) { diff --git a/Event/Event.groovy b/Event/Event.groovy index 7e83434..15e3458 100644 --- a/Event/Event.groovy +++ b/Event/Event.groovy @@ -34,6 +34,9 @@ public class Event { this.jsonData = new groovy.json.JsonSlurper().parseText(data) this.displayed = displayed if (integerValues.contains(name)) { + int dot = value.indexOf('.') + if (dot != -1) + value = value.substring(0, dot) this.integerValue = value.toInteger() this.doubleValue = Double.parseDouble(value); } -- 2.34.1