//Create a class for Events
package Event
+import groovy.json.JsonSlurper
public class Event {
- private int deviceId
+ private String deviceId
private String value
private String linkText
private String displayName
private String descriptionText
private boolean isStateChange
private String unit
- private ArrayList 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, int deviceId, String descriptionText, boolean displayed, String linkText, String displayName, boolean isStateChange, String unit, ArrayList 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 (integerValues.contains(name)) {
+ this.integerValue = value.toInteger()
+ this.doubleValue = Double.parseDouble(value);
+ }
+ this.physical = true
+ this.date = new Date()
}
}