Infrastructure compatible with swiches
[smartthings-infrastructure.git] / Event / Event.groovy
index aac847b5ccd32d51d30b8581d35e418059f4403f..83ba658355e5d838fa72c10b92f1c184b57bba5b 100644 (file)
@@ -4,7 +4,7 @@ import groovy.json.JsonSlurper
 
 public class Event {
        private String deviceId
-       private Object value
+       private String value
        private String linkText
        private String displayName
        private boolean displayed
@@ -19,7 +19,7 @@ public class Event {
        private boolean physical
        private def date
        
-       Event(Object value, String name, String deviceId, String descriptionText, boolean displayed, String linkText, String displayName, boolean isStateChange, String unit, String data) {
+       Event(String value, String name, String deviceId, String descriptionText, boolean displayed, String linkText, String displayName, boolean isStateChange, String unit, String data) {
                this.deviceId = deviceId
                this.linkText = linkText
                this.value = value
@@ -32,8 +32,11 @@ public class Event {
                this.jsonData = new groovy.json.JsonSlurper().parseText(data)
                this.displayed = displayed
                if (["battery", "hue", "saturation", "energy", "level", "temperature", "heatingSetpoint", "coolingSetpoint", "thermostatSetpoint", "illuminance"].contains(name)) {
-                       this.integerValue = value
-                       this.doubleValue = value
+                       int dot = value.indexOf('.')
+                       if (dot != -1)
+                       value = value.substring(0, dot)
+                       this.integerValue = value.toInteger()
+                       this.doubleValue = Double.parseDouble(value);
                }
                this.physical = true
                this.date = new Date()