//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 boolean displayed
private String name
private String descriptionText
+ private boolean isStateChange
+ private String unit
+ private String data
+ private jsonData
+ private int integerValue
+ private double doubleValue
+ private boolean physical
+ private def date
- Event() {
- this.deviceId = 0
- this.linkText = ""
- this.value = ""
- this.displayName = ""
- this.name = ""
- this.descriptionText = ""
+ 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.displayName = displayName
+ this.name = name
+ this.descriptionText = descriptionText
+ 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()
}
}