X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Event%2FEvent.groovy;h=7e834345ac2da8b4b09f47427e99c6f8e806cf4f;hb=dfb8324dab3d283394c1d672657c8c7f276f2789;hp=8c1d1c932bfcc4a1e9365e89349901996be578d1;hpb=16ebbcf5da0fa9989acb5b03129b9706331066c5;p=smartthings-infrastructure.git diff --git a/Event/Event.groovy b/Event/Event.groovy index 8c1d1c9..7e83434 100644 --- a/Event/Event.groovy +++ b/Event/Event.groovy @@ -1,5 +1,6 @@ //Create a class for Events package Event +import groovy.json.JsonSlurper public class Event { private String deviceId @@ -11,10 +12,16 @@ public class Event { private String descriptionText private boolean isStateChange private String unit - private LinkedHashMap data + 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, LinkedHashMap 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 @@ -24,8 +31,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 (name == "battery") + if (integerValues.contains(name)) { this.integerValue = value.toInteger() + this.doubleValue = Double.parseDouble(value); + } + this.physical = true + this.date = new Date() } }