//Create a class for Events
package Event
+import groovy.json.JsonSlurper
public class Event {
private String deviceId
private String descriptionText
private boolean isStateChange
private String unit
- private LinkedHashMap data
+ private String data
+ private jsonData
+ private int integerValue
+ private double doubleValue
+ 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
this.isStateChange = isStateChange
this.unit = unit
this.data = data
+ this.jsonData = new groovy.json.JsonSlurper().parseText(data)
this.displayed = displayed
+ if (["battery", "hue", "saturation", "energy", "level", "temperature", "heatingSetpoint", "coolingSetpoint", "thermostatSetpoint", "illuminance"].contains(name)) {
+ 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()
}
}