Infrastructure compatible with locks, alarms, and thermostats group
[smartthings-infrastructure.git] / Event / Event.groovy
1 //Create a class for Events
2 package Event
3 import groovy.json.JsonSlurper
4
5 public class Event {
6         private String deviceId
7         private Object value
8         private String linkText
9         private String displayName
10         private boolean displayed
11         private String name
12         private String descriptionText
13         private boolean isStateChange
14         private String unit
15         private String data
16         private jsonData
17         private int integerValue
18         private double doubleValue
19         private boolean physical
20         private def date
21         
22         Event(Object value, String name, String deviceId, String descriptionText, boolean displayed, String linkText, String displayName, boolean isStateChange, String unit, String data) {
23                 this.deviceId = deviceId
24                 this.linkText = linkText
25                 this.value = value
26                 this.displayName = displayName
27                 this.name = name
28                 this.descriptionText = descriptionText
29                 this.isStateChange = isStateChange
30                 this.unit = unit
31                 this.data = data
32                 this.jsonData = new groovy.json.JsonSlurper().parseText(data)
33                 this.displayed = displayed
34                 if (["battery", "hue", "saturation", "energy", "level", "temperature", "heatingSetpoint", "coolingSetpoint", "thermostatSetpoint", "illuminance"].contains(name)) {
35                         this.integerValue = value
36                         this.doubleValue = value
37                 }
38                 this.physical = true
39                 this.date = new Date()
40         }
41 }