X-Git-Url: http://plrg.eecs.uci.edu/git/?p=smartthings-infrastructure.git;a=blobdiff_plain;f=Event%2FEvent.groovy;h=aac847b5ccd32d51d30b8581d35e418059f4403f;hp=60d7276f7ce4ad7e46452daaad4d70a198e81341;hb=d0b538d93e64c63d2673796db08570953b57f947;hpb=6b033926fc678d37f4509f6f86a6264803ef904f diff --git a/Event/Event.groovy b/Event/Event.groovy index 60d7276..aac847b 100644 --- a/Event/Event.groovy +++ b/Event/Event.groovy @@ -1,9 +1,10 @@ //Create a class for Events package Event +import groovy.json.JsonSlurper public class Event { private String deviceId - private String value + private Object value private String linkText private String displayName private boolean displayed @@ -12,12 +13,13 @@ public class Event { private boolean isStateChange private String unit private String data + private jsonData private int integerValue private double doubleValue - private List integerValues = ["battery", "hue", "saturation", "energy", "level", "temperature", - "heatingSetpoint", "coolingSetpoint", "thermostatSetpoint", "illuminance"] + private boolean physical + private def date - Event(String value, String name, String deviceId, String descriptionText, boolean displayed, String linkText, String displayName, boolean isStateChange, String unit, String data) { + Event(Object 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 @@ -27,10 +29,13 @@ public class Event { this.isStateChange = isStateChange this.unit = unit this.data = data + this.jsonData = new groovy.json.JsonSlurper().parseText(data) this.displayed = displayed - if (integerValues.contains(name)) { - this.integerValue = value.toInteger() - this.doubleValue = Double.parseDouble(value); + if (["battery", "hue", "saturation", "energy", "level", "temperature", "heatingSetpoint", "coolingSetpoint", "thermostatSetpoint", "illuminance"].contains(name)) { + this.integerValue = value + this.doubleValue = value } + this.physical = true + this.date = new Date() } }