//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
private String descriptionText
private boolean isStateChange
private String unit
- private LinkedHashMap data
+ private String data
+ private jsonData
private int integerValue
- private List integerValues = ["battery", "hue", "saturation", "energy", "level", "temperature", "heatingSetpoint", "coolingSetpoint", "thermostatSetpoint"]
+ 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(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
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()
+ 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()
}
}